gitextract_kvc5fbke/ ├── .hgignore ├── COPYRIGHT ├── LICENSE.TXT ├── OptolithiumC/ │ ├── CMakeLists.txt │ ├── FindFFTW.cmake │ ├── FindNumPy.cmake │ ├── clipper.i │ ├── examples/ │ │ ├── aerial_image_various_source_shapes.py │ │ └── resist_images_and_contours.py │ ├── include/ │ │ ├── opl_capi.h │ │ ├── opl_contours.h │ │ ├── opl_conv.h │ │ ├── opl_eikonal.h │ │ ├── opl_fft.h │ │ ├── opl_geometry.h │ │ ├── opl_interp.h │ │ ├── opl_iter.h │ │ ├── opl_log.h │ │ ├── opl_misc.h │ │ ├── opl_physc.h │ │ ├── opl_sim.h │ │ └── optolithium.h │ ├── libs/ │ │ ├── armadillo/ │ │ │ ├── include/ │ │ │ │ ├── armadillo │ │ │ │ └── armadillo_bits/ │ │ │ │ ├── BaseCube_bones.hpp │ │ │ │ ├── BaseCube_meat.hpp │ │ │ │ ├── Base_bones.hpp │ │ │ │ ├── Base_meat.hpp │ │ │ │ ├── Col_bones.hpp │ │ │ │ ├── Col_meat.hpp │ │ │ │ ├── Cube_bones.hpp │ │ │ │ ├── Cube_meat.hpp │ │ │ │ ├── GenCube_bones.hpp │ │ │ │ ├── GenCube_meat.hpp │ │ │ │ ├── Gen_bones.hpp │ │ │ │ ├── Gen_meat.hpp │ │ │ │ ├── GlueCube_bones.hpp │ │ │ │ ├── GlueCube_meat.hpp │ │ │ │ ├── Glue_bones.hpp │ │ │ │ ├── Glue_meat.hpp │ │ │ │ ├── Mat_bones.hpp │ │ │ │ ├── Mat_meat.hpp │ │ │ │ ├── OpCube_bones.hpp │ │ │ │ ├── OpCube_meat.hpp │ │ │ │ ├── Op_bones.hpp │ │ │ │ ├── Op_meat.hpp │ │ │ │ ├── Proxy.hpp │ │ │ │ ├── ProxyCube.hpp │ │ │ │ ├── Row_bones.hpp │ │ │ │ ├── Row_meat.hpp │ │ │ │ ├── SizeCube_bones.hpp │ │ │ │ ├── SizeCube_meat.hpp │ │ │ │ ├── SizeMat_bones.hpp │ │ │ │ ├── SizeMat_meat.hpp │ │ │ │ ├── SpBase_bones.hpp │ │ │ │ ├── SpBase_meat.hpp │ │ │ │ ├── SpCol_bones.hpp │ │ │ │ ├── SpCol_meat.hpp │ │ │ │ ├── SpGlue_bones.hpp │ │ │ │ ├── SpGlue_meat.hpp │ │ │ │ ├── SpMat_bones.hpp │ │ │ │ ├── SpMat_iterators_meat.hpp │ │ │ │ ├── SpMat_meat.hpp │ │ │ │ ├── SpOp_bones.hpp │ │ │ │ ├── SpOp_meat.hpp │ │ │ │ ├── SpProxy.hpp │ │ │ │ ├── SpRow_bones.hpp │ │ │ │ ├── SpRow_meat.hpp │ │ │ │ ├── SpSubview_bones.hpp │ │ │ │ ├── SpSubview_iterators_meat.hpp │ │ │ │ ├── SpSubview_meat.hpp │ │ │ │ ├── SpValProxy_bones.hpp │ │ │ │ ├── SpValProxy_meat.hpp │ │ │ │ ├── access.hpp │ │ │ │ ├── arma_boost.hpp │ │ │ │ ├── arma_cmath.hpp │ │ │ │ ├── arma_config.hpp │ │ │ │ ├── arma_ostream_bones.hpp │ │ │ │ ├── arma_ostream_meat.hpp │ │ │ │ ├── arma_rng.hpp │ │ │ │ ├── arma_rng_cxx11.hpp │ │ │ │ ├── arma_rng_cxx98.hpp │ │ │ │ ├── arma_static_check.hpp │ │ │ │ ├── arma_version.hpp │ │ │ │ ├── arpack_bones.hpp │ │ │ │ ├── arpack_wrapper.hpp │ │ │ │ ├── arrayops_bones.hpp │ │ │ │ ├── arrayops_meat.hpp │ │ │ │ ├── atlas_bones.hpp │ │ │ │ ├── atlas_wrapper.hpp │ │ │ │ ├── auxlib_bones.hpp │ │ │ │ ├── auxlib_meat.hpp │ │ │ │ ├── blas_bones.hpp │ │ │ │ ├── blas_wrapper.hpp │ │ │ │ ├── compiler_setup.hpp │ │ │ │ ├── compiler_setup_post.hpp │ │ │ │ ├── cond_rel_bones.hpp │ │ │ │ ├── cond_rel_meat.hpp │ │ │ │ ├── config.hpp │ │ │ │ ├── config.hpp.cmake │ │ │ │ ├── constants.hpp │ │ │ │ ├── constants_compat.hpp │ │ │ │ ├── debug.hpp │ │ │ │ ├── diagmat_proxy.hpp │ │ │ │ ├── diagview_bones.hpp │ │ │ │ ├── diagview_meat.hpp │ │ │ │ ├── diskio_bones.hpp │ │ │ │ ├── diskio_meat.hpp │ │ │ │ ├── distr_param.hpp │ │ │ │ ├── eGlueCube_bones.hpp │ │ │ │ ├── eGlueCube_meat.hpp │ │ │ │ ├── eGlue_bones.hpp │ │ │ │ ├── eGlue_meat.hpp │ │ │ │ ├── eOpCube_bones.hpp │ │ │ │ ├── eOpCube_meat.hpp │ │ │ │ ├── eOp_bones.hpp │ │ │ │ ├── eOp_meat.hpp │ │ │ │ ├── eglue_core_bones.hpp │ │ │ │ ├── eglue_core_meat.hpp │ │ │ │ ├── eop_aux.hpp │ │ │ │ ├── eop_core_bones.hpp │ │ │ │ ├── eop_core_meat.hpp │ │ │ │ ├── fft_engine.hpp │ │ │ │ ├── field_bones.hpp │ │ │ │ ├── field_meat.hpp │ │ │ │ ├── fn_accu.hpp │ │ │ │ ├── fn_all.hpp │ │ │ │ ├── fn_any.hpp │ │ │ │ ├── fn_as_scalar.hpp │ │ │ │ ├── fn_chol.hpp │ │ │ │ ├── fn_clamp.hpp │ │ │ │ ├── fn_cond.hpp │ │ │ │ ├── fn_conv.hpp │ │ │ │ ├── fn_conv_to.hpp │ │ │ │ ├── fn_cor.hpp │ │ │ │ ├── fn_cov.hpp │ │ │ │ ├── fn_cross.hpp │ │ │ │ ├── fn_cumsum.hpp │ │ │ │ ├── fn_det.hpp │ │ │ │ ├── fn_diagmat.hpp │ │ │ │ ├── fn_diagvec.hpp │ │ │ │ ├── fn_dot.hpp │ │ │ │ ├── fn_eig_gen.hpp │ │ │ │ ├── fn_eig_pair.hpp │ │ │ │ ├── fn_eig_sym.hpp │ │ │ │ ├── fn_eigs_gen.hpp │ │ │ │ ├── fn_eigs_sym.hpp │ │ │ │ ├── fn_elem.hpp │ │ │ │ ├── fn_eps.hpp │ │ │ │ ├── fn_expmat.hpp │ │ │ │ ├── fn_eye.hpp │ │ │ │ ├── fn_fft.hpp │ │ │ │ ├── fn_fft2.hpp │ │ │ │ ├── fn_find.hpp │ │ │ │ ├── fn_flip.hpp │ │ │ │ ├── fn_hist.hpp │ │ │ │ ├── fn_histc.hpp │ │ │ │ ├── fn_inplace_strans.hpp │ │ │ │ ├── fn_inplace_trans.hpp │ │ │ │ ├── fn_interp1.hpp │ │ │ │ ├── fn_inv.hpp │ │ │ │ ├── fn_join.hpp │ │ │ │ ├── fn_kron.hpp │ │ │ │ ├── fn_log_det.hpp │ │ │ │ ├── fn_lu.hpp │ │ │ │ ├── fn_max.hpp │ │ │ │ ├── fn_mean.hpp │ │ │ │ ├── fn_median.hpp │ │ │ │ ├── fn_min.hpp │ │ │ │ ├── fn_misc.hpp │ │ │ │ ├── fn_n_unique.hpp │ │ │ │ ├── fn_nonzeros.hpp │ │ │ │ ├── fn_norm.hpp │ │ │ │ ├── fn_norm_sparse.hpp │ │ │ │ ├── fn_normalise.hpp │ │ │ │ ├── fn_numel.hpp │ │ │ │ ├── fn_ones.hpp │ │ │ │ ├── fn_pinv.hpp │ │ │ │ ├── fn_princomp.hpp │ │ │ │ ├── fn_prod.hpp │ │ │ │ ├── fn_qr.hpp │ │ │ │ ├── fn_qz.hpp │ │ │ │ ├── fn_randg.hpp │ │ │ │ ├── fn_randi.hpp │ │ │ │ ├── fn_randn.hpp │ │ │ │ ├── fn_randu.hpp │ │ │ │ ├── fn_rank.hpp │ │ │ │ ├── fn_repmat.hpp │ │ │ │ ├── fn_reshape.hpp │ │ │ │ ├── fn_resize.hpp │ │ │ │ ├── fn_shuffle.hpp │ │ │ │ ├── fn_size.hpp │ │ │ │ ├── fn_solve.hpp │ │ │ │ ├── fn_sort.hpp │ │ │ │ ├── fn_sort_index.hpp │ │ │ │ ├── fn_speye.hpp │ │ │ │ ├── fn_spones.hpp │ │ │ │ ├── fn_sprandn.hpp │ │ │ │ ├── fn_sprandu.hpp │ │ │ │ ├── fn_spsolve.hpp │ │ │ │ ├── fn_stddev.hpp │ │ │ │ ├── fn_strans.hpp │ │ │ │ ├── fn_sum.hpp │ │ │ │ ├── fn_svd.hpp │ │ │ │ ├── fn_svds.hpp │ │ │ │ ├── fn_syl_lyap.hpp │ │ │ │ ├── fn_symmat.hpp │ │ │ │ ├── fn_toeplitz.hpp │ │ │ │ ├── fn_trace.hpp │ │ │ │ ├── fn_trans.hpp │ │ │ │ ├── fn_trig.hpp │ │ │ │ ├── fn_trimat.hpp │ │ │ │ ├── fn_trunc_exp.hpp │ │ │ │ ├── fn_trunc_log.hpp │ │ │ │ ├── fn_unique.hpp │ │ │ │ ├── fn_var.hpp │ │ │ │ ├── fn_vectorise.hpp │ │ │ │ ├── fn_zeros.hpp │ │ │ │ ├── forward_bones.hpp │ │ │ │ ├── glue_conv_bones.hpp │ │ │ │ ├── glue_conv_meat.hpp │ │ │ │ ├── glue_cor_bones.hpp │ │ │ │ ├── glue_cor_meat.hpp │ │ │ │ ├── glue_cov_bones.hpp │ │ │ │ ├── glue_cov_meat.hpp │ │ │ │ ├── glue_cross_bones.hpp │ │ │ │ ├── glue_cross_meat.hpp │ │ │ │ ├── glue_hist_bones.hpp │ │ │ │ ├── glue_hist_meat.hpp │ │ │ │ ├── glue_histc_bones.hpp │ │ │ │ ├── glue_histc_meat.hpp │ │ │ │ ├── glue_join_bones.hpp │ │ │ │ ├── glue_join_meat.hpp │ │ │ │ ├── glue_kron_bones.hpp │ │ │ │ ├── glue_kron_meat.hpp │ │ │ │ ├── glue_max_bones.hpp │ │ │ │ ├── glue_max_meat.hpp │ │ │ │ ├── glue_min_bones.hpp │ │ │ │ ├── glue_min_meat.hpp │ │ │ │ ├── glue_mixed_bones.hpp │ │ │ │ ├── glue_mixed_meat.hpp │ │ │ │ ├── glue_relational_bones.hpp │ │ │ │ ├── glue_relational_meat.hpp │ │ │ │ ├── glue_solve_bones.hpp │ │ │ │ ├── glue_solve_meat.hpp │ │ │ │ ├── glue_times_bones.hpp │ │ │ │ ├── glue_times_meat.hpp │ │ │ │ ├── glue_toeplitz_bones.hpp │ │ │ │ ├── glue_toeplitz_meat.hpp │ │ │ │ ├── gmm_diag_bones.hpp │ │ │ │ ├── gmm_diag_meat.hpp │ │ │ │ ├── gmm_misc_bones.hpp │ │ │ │ ├── gmm_misc_meat.hpp │ │ │ │ ├── hdf5_bones.hpp │ │ │ │ ├── hdf5_misc.hpp │ │ │ │ ├── include_atlas.hpp │ │ │ │ ├── include_hdf5.hpp │ │ │ │ ├── include_superlu.hpp │ │ │ │ ├── injector_bones.hpp │ │ │ │ ├── injector_meat.hpp │ │ │ │ ├── lapack_bones.hpp │ │ │ │ ├── lapack_wrapper.hpp │ │ │ │ ├── memory.hpp │ │ │ │ ├── mtGlueCube_bones.hpp │ │ │ │ ├── mtGlueCube_meat.hpp │ │ │ │ ├── mtGlue_bones.hpp │ │ │ │ ├── mtGlue_meat.hpp │ │ │ │ ├── mtOpCube_bones.hpp │ │ │ │ ├── mtOpCube_meat.hpp │ │ │ │ ├── mtOp_bones.hpp │ │ │ │ ├── mtOp_meat.hpp │ │ │ │ ├── mtSpOp_bones.hpp │ │ │ │ ├── mtSpOp_meat.hpp │ │ │ │ ├── mul_gemm.hpp │ │ │ │ ├── mul_gemm_mixed.hpp │ │ │ │ ├── mul_gemv.hpp │ │ │ │ ├── mul_herk.hpp │ │ │ │ ├── mul_syrk.hpp │ │ │ │ ├── op_all_bones.hpp │ │ │ │ ├── op_all_meat.hpp │ │ │ │ ├── op_any_bones.hpp │ │ │ │ ├── op_any_meat.hpp │ │ │ │ ├── op_chol_bones.hpp │ │ │ │ ├── op_chol_meat.hpp │ │ │ │ ├── op_clamp_bones.hpp │ │ │ │ ├── op_clamp_meat.hpp │ │ │ │ ├── op_cor_bones.hpp │ │ │ │ ├── op_cor_meat.hpp │ │ │ │ ├── op_cov_bones.hpp │ │ │ │ ├── op_cov_meat.hpp │ │ │ │ ├── op_cumsum_bones.hpp │ │ │ │ ├── op_cumsum_meat.hpp │ │ │ │ ├── op_cx_scalar_bones.hpp │ │ │ │ ├── op_cx_scalar_meat.hpp │ │ │ │ ├── op_diagmat_bones.hpp │ │ │ │ ├── op_diagmat_meat.hpp │ │ │ │ ├── op_diagvec_bones.hpp │ │ │ │ ├── op_diagvec_meat.hpp │ │ │ │ ├── op_dot_bones.hpp │ │ │ │ ├── op_dot_meat.hpp │ │ │ │ ├── op_dotext_bones.hpp │ │ │ │ ├── op_dotext_meat.hpp │ │ │ │ ├── op_expmat_bones.hpp │ │ │ │ ├── op_expmat_meat.hpp │ │ │ │ ├── op_fft_bones.hpp │ │ │ │ ├── op_fft_meat.hpp │ │ │ │ ├── op_find_bones.hpp │ │ │ │ ├── op_find_meat.hpp │ │ │ │ ├── op_flip_bones.hpp │ │ │ │ ├── op_flip_meat.hpp │ │ │ │ ├── op_hist_bones.hpp │ │ │ │ ├── op_hist_meat.hpp │ │ │ │ ├── op_htrans_bones.hpp │ │ │ │ ├── op_htrans_meat.hpp │ │ │ │ ├── op_inv_bones.hpp │ │ │ │ ├── op_inv_meat.hpp │ │ │ │ ├── op_max_bones.hpp │ │ │ │ ├── op_max_meat.hpp │ │ │ │ ├── op_mean_bones.hpp │ │ │ │ ├── op_mean_meat.hpp │ │ │ │ ├── op_median_bones.hpp │ │ │ │ ├── op_median_meat.hpp │ │ │ │ ├── op_min_bones.hpp │ │ │ │ ├── op_min_meat.hpp │ │ │ │ ├── op_misc_bones.hpp │ │ │ │ ├── op_misc_meat.hpp │ │ │ │ ├── op_nonzeros_bones.hpp │ │ │ │ ├── op_nonzeros_meat.hpp │ │ │ │ ├── op_normalise_bones.hpp │ │ │ │ ├── op_normalise_meat.hpp │ │ │ │ ├── op_pinv_bones.hpp │ │ │ │ ├── op_pinv_meat.hpp │ │ │ │ ├── op_princomp_bones.hpp │ │ │ │ ├── op_princomp_meat.hpp │ │ │ │ ├── op_prod_bones.hpp │ │ │ │ ├── op_prod_meat.hpp │ │ │ │ ├── op_relational_bones.hpp │ │ │ │ ├── op_relational_meat.hpp │ │ │ │ ├── op_repmat_bones.hpp │ │ │ │ ├── op_repmat_meat.hpp │ │ │ │ ├── op_reshape_bones.hpp │ │ │ │ ├── op_reshape_meat.hpp │ │ │ │ ├── op_resize_bones.hpp │ │ │ │ ├── op_resize_meat.hpp │ │ │ │ ├── op_shuffle_bones.hpp │ │ │ │ ├── op_shuffle_meat.hpp │ │ │ │ ├── op_sort_bones.hpp │ │ │ │ ├── op_sort_index_bones.hpp │ │ │ │ ├── op_sort_index_meat.hpp │ │ │ │ ├── op_sort_meat.hpp │ │ │ │ ├── op_stddev_bones.hpp │ │ │ │ ├── op_stddev_meat.hpp │ │ │ │ ├── op_strans_bones.hpp │ │ │ │ ├── op_strans_meat.hpp │ │ │ │ ├── op_sum_bones.hpp │ │ │ │ ├── op_sum_meat.hpp │ │ │ │ ├── op_symmat_bones.hpp │ │ │ │ ├── op_symmat_meat.hpp │ │ │ │ ├── op_toeplitz_bones.hpp │ │ │ │ ├── op_toeplitz_meat.hpp │ │ │ │ ├── op_trimat_bones.hpp │ │ │ │ ├── op_trimat_meat.hpp │ │ │ │ ├── op_unique_bones.hpp │ │ │ │ ├── op_unique_meat.hpp │ │ │ │ ├── op_var_bones.hpp │ │ │ │ ├── op_var_meat.hpp │ │ │ │ ├── op_vectorise_bones.hpp │ │ │ │ ├── op_vectorise_meat.hpp │ │ │ │ ├── operator_cube_div.hpp │ │ │ │ ├── operator_cube_minus.hpp │ │ │ │ ├── operator_cube_plus.hpp │ │ │ │ ├── operator_cube_relational.hpp │ │ │ │ ├── operator_cube_schur.hpp │ │ │ │ ├── operator_cube_times.hpp │ │ │ │ ├── operator_div.hpp │ │ │ │ ├── operator_minus.hpp │ │ │ │ ├── operator_ostream.hpp │ │ │ │ ├── operator_plus.hpp │ │ │ │ ├── operator_relational.hpp │ │ │ │ ├── operator_schur.hpp │ │ │ │ ├── operator_times.hpp │ │ │ │ ├── podarray_bones.hpp │ │ │ │ ├── podarray_meat.hpp │ │ │ │ ├── promote_type.hpp │ │ │ │ ├── restrictors.hpp │ │ │ │ ├── running_stat_bones.hpp │ │ │ │ ├── running_stat_meat.hpp │ │ │ │ ├── running_stat_vec_bones.hpp │ │ │ │ ├── running_stat_vec_meat.hpp │ │ │ │ ├── sp_auxlib_bones.hpp │ │ │ │ ├── sp_auxlib_meat.hpp │ │ │ │ ├── span.hpp │ │ │ │ ├── spdiagview_bones.hpp │ │ │ │ ├── spdiagview_meat.hpp │ │ │ │ ├── spglue_join_bones.hpp │ │ │ │ ├── spglue_join_meat.hpp │ │ │ │ ├── spglue_minus_bones.hpp │ │ │ │ ├── spglue_minus_meat.hpp │ │ │ │ ├── spglue_plus_bones.hpp │ │ │ │ ├── spglue_plus_meat.hpp │ │ │ │ ├── spglue_times_bones.hpp │ │ │ │ ├── spglue_times_meat.hpp │ │ │ │ ├── spop_htrans_bones.hpp │ │ │ │ ├── spop_htrans_meat.hpp │ │ │ │ ├── spop_max_bones.hpp │ │ │ │ ├── spop_max_meat.hpp │ │ │ │ ├── spop_mean_bones.hpp │ │ │ │ ├── spop_mean_meat.hpp │ │ │ │ ├── spop_min_bones.hpp │ │ │ │ ├── spop_min_meat.hpp │ │ │ │ ├── spop_misc_bones.hpp │ │ │ │ ├── spop_misc_meat.hpp │ │ │ │ ├── spop_strans_bones.hpp │ │ │ │ ├── spop_strans_meat.hpp │ │ │ │ ├── spop_sum_bones.hpp │ │ │ │ ├── spop_sum_meat.hpp │ │ │ │ ├── spop_var_bones.hpp │ │ │ │ ├── spop_var_meat.hpp │ │ │ │ ├── strip.hpp │ │ │ │ ├── subview_bones.hpp │ │ │ │ ├── subview_cube_bones.hpp │ │ │ │ ├── subview_cube_meat.hpp │ │ │ │ ├── subview_each_bones.hpp │ │ │ │ ├── subview_each_meat.hpp │ │ │ │ ├── subview_elem1_bones.hpp │ │ │ │ ├── subview_elem1_meat.hpp │ │ │ │ ├── subview_elem2_bones.hpp │ │ │ │ ├── subview_elem2_meat.hpp │ │ │ │ ├── subview_field_bones.hpp │ │ │ │ ├── subview_field_meat.hpp │ │ │ │ ├── subview_meat.hpp │ │ │ │ ├── superlu_bones.hpp │ │ │ │ ├── superlu_wrapper.hpp │ │ │ │ ├── traits.hpp │ │ │ │ ├── typedef_elem.hpp │ │ │ │ ├── typedef_elem_check.hpp │ │ │ │ ├── typedef_mat.hpp │ │ │ │ ├── typedef_mat_fixed.hpp │ │ │ │ ├── unwrap.hpp │ │ │ │ ├── unwrap_cube.hpp │ │ │ │ ├── unwrap_spmat.hpp │ │ │ │ ├── upgrade_val.hpp │ │ │ │ ├── wall_clock_bones.hpp │ │ │ │ ├── wall_clock_meat.hpp │ │ │ │ ├── xtrans_mat_bones.hpp │ │ │ │ ├── xtrans_mat_meat.hpp │ │ │ │ ├── xvec_htrans_bones.hpp │ │ │ │ └── xvec_htrans_meat.hpp │ │ │ └── src/ │ │ │ └── wrapper.cpp │ │ ├── armanpy/ │ │ │ ├── example/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── FindNumPy.cmake │ │ │ │ ├── example.cpp │ │ │ │ ├── example.hpp │ │ │ │ ├── example.i │ │ │ │ └── example.py │ │ │ └── include/ │ │ │ ├── armanpy.hpp │ │ │ ├── armanpy.i │ │ │ ├── armanpy_1d.i │ │ │ ├── armanpy_2d.i │ │ │ ├── armanpy_3d.i │ │ │ └── numpy.i │ │ ├── clipper/ │ │ │ ├── CMakeLists.txt │ │ │ ├── include/ │ │ │ │ └── clipper.hpp │ │ │ └── src/ │ │ │ └── clipper.cpp │ │ ├── easylogging/ │ │ │ └── easylogging++.h │ │ ├── eikonal/ │ │ │ ├── CMakeLists.txt │ │ │ ├── include/ │ │ │ │ ├── FMM_API.h │ │ │ │ ├── FMM_Config2d.h │ │ │ │ ├── FMM_Config3d.h │ │ │ │ ├── FMM_Core.h │ │ │ │ ├── FMM_Heap.h │ │ │ │ └── FMM_Macros.h │ │ │ └── src/ │ │ │ ├── FMM_Core.c │ │ │ ├── FMM_Heap.c │ │ │ ├── FMM_eikonal2d.c │ │ │ └── FMM_eikonal3d.c │ │ ├── fftw3-win32/ │ │ │ ├── fftw3.f │ │ │ ├── fftw3.f03 │ │ │ ├── fftw3.h │ │ │ ├── fftw3l.f03 │ │ │ ├── fftw3q.f03 │ │ │ ├── libfftw3-3.def │ │ │ ├── libfftw3.a │ │ │ ├── libfftw3f-3.def │ │ │ └── libfftw3l-3.def │ │ ├── fourier/ │ │ │ ├── CMakeLists.txt │ │ │ ├── include/ │ │ │ │ ├── basics.h │ │ │ │ ├── fourier.h │ │ │ │ └── primes.h │ │ │ ├── src/ │ │ │ │ ├── check.c │ │ │ │ ├── fourier.c │ │ │ │ └── primes.c │ │ │ └── tools/ │ │ │ └── generate_twiddles.m │ │ └── kissfft/ │ │ ├── CMakeLists.txt │ │ ├── include/ │ │ │ ├── _kiss_fft_guts.h │ │ │ ├── kiss_fft.h │ │ │ └── kiss_fftnd.h │ │ └── src/ │ │ ├── kiss_fft.c │ │ └── kiss_fftnd.c │ ├── optolithiumc.i │ ├── plugins/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ ├── dev_models/ │ │ │ ├── enhanced.c │ │ │ ├── enhanced_notch.c │ │ │ ├── mack.c │ │ │ ├── notch.c │ │ │ └── notch_depth.c │ │ ├── masks/ │ │ │ ├── fiveBarLine.c │ │ │ ├── line1D.c │ │ │ ├── line1D_SRAF.c │ │ │ └── space1D.c │ │ ├── pupil_filters/ │ │ │ └── central_obscuration.c │ │ └── source_shapes/ │ │ ├── annular.c │ │ ├── coherent.c │ │ └── convenient.c │ └── src/ │ ├── opl_capi.cpp │ ├── opl_contours.cpp │ ├── opl_geometry.cpp │ ├── opl_interp.cpp │ ├── opl_log.cpp │ └── opl_sim.cpp ├── OptolithiumGui/ │ ├── auxmath.py │ ├── config.py │ ├── core.py │ ├── database/ │ │ ├── Enum.py │ │ ├── __init__.py │ │ ├── base.py │ │ ├── common.py │ │ ├── dbparser.py │ │ ├── orm.py │ │ └── settings.py │ ├── helpers.py │ ├── info.py │ ├── main.py │ ├── matplotlibrc │ ├── metrics.py │ ├── mpl-data/ │ │ ├── fonts/ │ │ │ ├── afm/ │ │ │ │ ├── cmex10.afm │ │ │ │ ├── cmmi10.afm │ │ │ │ ├── cmr10.afm │ │ │ │ ├── cmsy10.afm │ │ │ │ ├── cmtt10.afm │ │ │ │ ├── pagd8a.afm │ │ │ │ ├── pagdo8a.afm │ │ │ │ ├── pagk8a.afm │ │ │ │ ├── pagko8a.afm │ │ │ │ ├── pbkd8a.afm │ │ │ │ ├── pbkdi8a.afm │ │ │ │ ├── pbkl8a.afm │ │ │ │ ├── pbkli8a.afm │ │ │ │ ├── pcrb8a.afm │ │ │ │ ├── pcrbo8a.afm │ │ │ │ ├── pcrr8a.afm │ │ │ │ ├── pcrro8a.afm │ │ │ │ ├── phvb8a.afm │ │ │ │ ├── phvb8an.afm │ │ │ │ ├── phvbo8a.afm │ │ │ │ ├── phvbo8an.afm │ │ │ │ ├── phvl8a.afm │ │ │ │ ├── phvlo8a.afm │ │ │ │ ├── phvr8a.afm │ │ │ │ ├── phvr8an.afm │ │ │ │ ├── phvro8a.afm │ │ │ │ ├── phvro8an.afm │ │ │ │ ├── pncb8a.afm │ │ │ │ ├── pncbi8a.afm │ │ │ │ ├── pncr8a.afm │ │ │ │ ├── pncri8a.afm │ │ │ │ ├── pplb8a.afm │ │ │ │ ├── pplbi8a.afm │ │ │ │ ├── pplr8a.afm │ │ │ │ ├── pplri8a.afm │ │ │ │ ├── psyr.afm │ │ │ │ ├── ptmb8a.afm │ │ │ │ ├── ptmbi8a.afm │ │ │ │ ├── ptmr8a.afm │ │ │ │ ├── ptmri8a.afm │ │ │ │ ├── putb8a.afm │ │ │ │ ├── putbi8a.afm │ │ │ │ ├── putr8a.afm │ │ │ │ ├── putri8a.afm │ │ │ │ ├── pzcmi8a.afm │ │ │ │ └── pzdr.afm │ │ │ ├── pdfcorefonts/ │ │ │ │ ├── Courier-Bold.afm │ │ │ │ ├── Courier-BoldOblique.afm │ │ │ │ ├── Courier-Oblique.afm │ │ │ │ ├── Courier.afm │ │ │ │ ├── Helvetica-Bold.afm │ │ │ │ ├── Helvetica-BoldOblique.afm │ │ │ │ ├── Helvetica-Oblique.afm │ │ │ │ ├── Helvetica.afm │ │ │ │ ├── Symbol.afm │ │ │ │ ├── Times-Bold.afm │ │ │ │ ├── Times-BoldItalic.afm │ │ │ │ ├── Times-Italic.afm │ │ │ │ ├── Times-Roman.afm │ │ │ │ └── ZapfDingbats.afm │ │ │ └── ttf/ │ │ │ └── LICENSE_STIX │ │ ├── images/ │ │ │ ├── back.ppm │ │ │ ├── back.xpm │ │ │ ├── filesave.ppm │ │ │ ├── filesave.xpm │ │ │ ├── forward.ppm │ │ │ ├── forward.xpm │ │ │ ├── hand.ppm │ │ │ ├── hand.xpm │ │ │ ├── home.ppm │ │ │ ├── home.xpm │ │ │ ├── move.ppm │ │ │ ├── move.xpm │ │ │ ├── stock_close.ppm │ │ │ ├── stock_close.xpm │ │ │ ├── stock_down.ppm │ │ │ ├── stock_down.xpm │ │ │ ├── stock_left.ppm │ │ │ ├── stock_left.xpm │ │ │ ├── stock_refresh.ppm │ │ │ ├── stock_refresh.xpm │ │ │ ├── stock_right.ppm │ │ │ ├── stock_right.xpm │ │ │ ├── stock_save_as.ppm │ │ │ ├── stock_save_as.xpm │ │ │ ├── stock_up.ppm │ │ │ ├── stock_up.xpm │ │ │ ├── stock_zoom-in.ppm │ │ │ ├── stock_zoom-in.xpm │ │ │ ├── stock_zoom-out.ppm │ │ │ ├── stock_zoom-out.xpm │ │ │ ├── subplots.ppm │ │ │ ├── subplots.xpm │ │ │ ├── zoom_to_rect.ppm │ │ │ └── zoom_to_rect.xpm │ │ └── lineprops.glade │ ├── options/ │ │ ├── __init__.py │ │ ├── common.py │ │ └── structures.py │ ├── optolithium.py │ ├── pcpi.py │ ├── physc.py │ ├── plugins.py │ ├── qt.py │ ├── resources.py │ ├── setup.py │ ├── share/ │ │ ├── data/ │ │ │ ├── Air-Vacuum.MAT │ │ │ ├── Si Dioxide.MAT │ │ │ ├── Si Nitride.MAT │ │ │ ├── Silicon.MAT │ │ │ ├── a-Polysilicon.MAT │ │ │ ├── fivebar.MSK │ │ │ └── i-line.res │ │ └── misc/ │ │ ├── magic │ │ └── magic.mgc │ ├── views/ │ │ ├── __init__.py │ │ ├── appconfig.py │ │ ├── common.py │ │ ├── controls.py │ │ ├── dbview.py │ │ ├── development.py │ │ ├── diffraction.py │ │ ├── exposure.py │ │ ├── imaging.py │ │ ├── mask.py │ │ ├── metrology.py │ │ ├── numerics.py │ │ ├── peb.py │ │ ├── resist.py │ │ ├── sets.py │ │ ├── simulations.py │ │ ├── summary.py │ │ └── wafer.py │ └── xhtml/ │ └── report.xhtml ├── README.md └── installer/ ├── GPL-V2.rtf └── Optolithium.aip