Salvatore Filippone
9bfb2980e3
psblas3:
...
base/Makefile
base/modules/Makefile
base/modules/psb_psblas_mod.f90
base/modules/psb_tools_mod.f90
base/newserial/Makefile
base/newserial/README
base/newserial/psbn_base_mat_mod.f03
base/newserial/psbn_d_base_mat_mod.f03
base/newserial/psbn_d_coo_impl.f03
base/newserial/psbn_d_csr_impl.f03
base/newserial/psbn_d_csr_mat_mod.f03
base/newserial/psbn_mat_mod.f03
base/psblas/psb_dnrmi.f90
base/psblas/psb_dspmm.f90
base/tools/psb_dspalloc.f90
base/tools/psb_dspasb.f90
base/tools/psb_dspfree.f90
base/tools/psb_dspins.f90
krylov/psb_dbicg.f90
krylov/psb_dcg.F90
krylov/psb_dcgs.f90
krylov/psb_dcgstab.F90
krylov/psb_dcgstabl.f90
krylov/psb_drgmres.f90
krylov/psb_krylov_mod.f90
prec/psb_dprecbld.f90
prec/psb_dprecinit.f90
prec/psb_dprecset.f90
prec/psb_prec_mod.f90
test/pargen/ppde.f90
test/pargen/runs/ppde.inp
test/serial/d_coo_matgen.f03
test/serial/d_matgen.f03
test/serial/psbn_d_cxx_mat_mod.f03
Minimal set of changes to run BICGSTAB in serial mode with NONE as a
preconditioner. It does now!
16 years ago
Salvatore Filippone
0ce5545cea
psblas3:
...
Changelog
base/modules/Makefile
base/modules/psb_ip_reord_mod.f90
base/newserial/Makefile
base/newserial/psbn_base_mat_mod.f03
base/newserial/psbn_coo_mat.f03
base/newserial/psbn_d_base_mat_mod.f03
base/newserial/psbn_d_coo_impl.f03
base/newserial/psbn_mat_mod.f03
base/serial/Makefile
base/serial/psb_ip_reord_mod.f90
config/pac.m4
Reworked base_mat to include COO (everybody must know about COO to
define A%TO_COO() and A%FROM_COO)
16 years ago
Salvatore Filippone
eddf493ae9
psblas3:
...
base/Makefile
base/comm/psb_chalo.f90
base/comm/psb_dhalo.f90
base/comm/psb_shalo.f90
base/comm/psb_zhalo.f90
base/modules/Makefile
base/newserial/psbn_coo_mat.f03
base/newserial/psbn_d_base_mat_mod.f03
base/psblas/psb_casum.f90
base/psblas/psb_caxpby.f90
base/psblas/psb_cdot.f90
base/psblas/psb_cnrm2.f90
base/psblas/psb_dasum.f90
base/psblas/psb_daxpby.f90
base/psblas/psb_ddot.f90
base/psblas/psb_dnrm2.f90
base/psblas/psb_sasum.f90
base/psblas/psb_saxpby.f90
base/psblas/psb_sdot.f90
base/psblas/psb_snrm2.f90
base/psblas/psb_zasum.f90
base/psblas/psb_zaxpby.f90
base/psblas/psb_zdot.f90
base/psblas/psb_znrm2.f90
base/serial/dp/Makefile
base/serial/f77/ccsmm.f
base/serial/f77/scsmm.f
configure.ac
configure
Fixes for the handling of interface mismatch in the NAG compiler: use
-wmismatch=mpi_gather.... and save mismatch_all just for psb_penv and
psb_blacs.
This enabled discovery of a number of minor (and not so minor)
errors..
Still waiting to hear about the bugs in F2003 mode.
16 years ago
Salvatore Filippone
a1cf9b1836
base/Makefile
...
16 years ago
Salvatore Filippone
8766c1003b
psblas3:
...
Changelog
LICENSE
Make.inc.in
README
base/Makefile
base/internals/psi_bld_tmphalo.f90
base/internals/psi_bld_tmpovrl.f90
base/internals/psi_crea_bnd_elem.f90
base/internals/psi_crea_index.f90
base/internals/psi_crea_ovr_elem.f90
base/internals/psi_fnd_owner.F90
base/modules/Makefile
base/modules/psb_base_mod.f90
base/modules/psb_desc_type.f90
base/modules/psb_hash_mod.f90
base/modules/psb_linmap_mod.f90
base/modules/psb_linmap_type_mod.f90
base/modules/psb_penv_mod.F90
base/modules/psb_psblas_mod.f90
base/modules/psb_realloc_mod.F90
base/modules/psb_serial_mod.f90
base/modules/psb_sort_mod.f90
base/modules/psb_spmat_type.f03
base/modules/psb_spmat_type.f90
base/modules/psb_tools_mod.f90
base/modules/psi_mod.f90
base/psblas/Makefile
base/psblas/psb_cspmm.f90
base/psblas/psb_dspmm.f90
base/psblas/psb_sspmm.f90
base/psblas/psb_zspmm.f90
base/serial/Makefile
base/serial/aux/Makefile
base/serial/psb_ccoins.f90
base/serial/psb_ccsprt.f90
base/serial/psb_cgelp.f90
base/serial/psb_cipcoo2csc.f90
base/serial/psb_cipcoo2csr.f90
base/serial/psb_cipcsr2coo.f90
base/serial/psb_cneigh.f90
base/serial/psb_ctransc.f90
base/serial/psb_ctransp.f90
base/serial/psb_dcoins.f90
base/serial/psb_dcsmm.f90
base/serial/psb_dcsprt.f90
base/serial/psb_dcsrp.f90
base/serial/psb_dgelp.f90
base/serial/psb_dipcoo2csc.f90
base/serial/psb_dipcoo2csr.f90
base/serial/psb_dipcsr2coo.f90
base/serial/psb_dneigh.f90
base/serial/psb_dtransp.f90
base/serial/psb_getrow_mod.f90
base/serial/psb_scoins.f90
base/serial/psb_scsnmi.f90
base/serial/psb_scsprt.f90
base/serial/psb_sgelp.f90
base/serial/psb_sipcoo2csc.f90
base/serial/psb_sipcoo2csr.f90
base/serial/psb_sipcsr2coo.f90
base/serial/psb_sneigh.f90
base/serial/psb_stransp.f90
base/serial/psb_update_mod.f90
base/serial/psb_zcoins.f90
base/serial/psb_zcsprt.f90
base/serial/psb_zcsrp.f90
base/serial/psb_zgelp.f90
base/serial/psb_zipcoo2csc.f90
base/serial/psb_zipcoo2csr.f90
base/serial/psb_zipcsr2coo.f90
base/serial/psb_zneigh.f90
base/serial/psb_ztransc.f90
base/serial/psb_ztransp.f90
base/tools/Makefile
base/tools/psb_ccdbldext.F90
base/tools/psb_cd_lstext.f90
base/tools/psb_cd_reinit.f90
base/tools/psb_cdals.f90
base/tools/psb_cdren.f90
base/tools/psb_dcdbldext.F90
base/tools/psb_icdasb.F90
base/tools/psb_inter_desc.f90
base/tools/psb_linmap.f90
base/tools/psb_map.f90
base/tools/psb_scdbldext.F90
base/tools/psb_zcdbldext.F90
config/pac.m4
configure.ac
configure
krylov/psb_scgstab.F90
prec/psb_cdiagsc_bld.f90
prec/psb_cprc_aply.f90
prec/psb_cprecbld.f90
prec/psb_ddiagsc_bld.f90
prec/psb_dprc_aply.f90
prec/psb_dprecbld.f90
prec/psb_sdiagsc_bld.f90
prec/psb_sprc_aply.f90
prec/psb_sprecbld.f90
prec/psb_zdiagsc_bld.f90
prec/psb_zprc_aply.f90
prec/psb_zprecbld.f90
test/fileread/cf_sample.f90
test/fileread/df_sample.f90
test/fileread/sf_sample.f90
test/fileread/zf_sample.f90
test/pargen/ppde.f90
test/pargen/runs/ppde.inp
test/pargen/spde.f90
util/psb_mat_dist_mod.f90
psblas3:
first batch of changes to accommodate NAG compiler. Now the real work
is about to start...
16 years ago
Salvatore Filippone
be18a33a19
psblas2-typext
...
psb_spsb is not currently used.
16 years ago
Salvatore Filippone
e42460b161
psblas-typext
...
Modified the spmat_types to contain type-bound procedures for CSMM and
CSSM.
Modified the PSBLAS and psb_map accordingly.
16 years ago
Salvatore Filippone
00c1468c6c
Started playing around with type extensions and typebound
...
procedures.
Merged performance fixes from trunk.
17 years ago
Salvatore Filippone
e30d782178
psblas2:
...
base/modules/Makefile
base/modules/psb_base_mod.f90
base/modules/psb_inter_desc_mod.f90
base/modules/psb_inter_desc_type.f90
base/tools/Makefile
base/tools/psb_inter_desc.f90
base/tools/psb_map.f90
Fixed module inclusion pattern to handle compilation under XLF 10.
17 years ago
Salvatore Filippone
acfe3fdb63
psblas2-dev:
...
Make.inc.in
README
base/comm/Makefile
base/comm/psb_cgather.f90
base/comm/psb_chalo.f90
base/comm/psb_covrl.f90
base/comm/psb_sgather.f90
base/comm/psb_shalo.f90
base/comm/psb_sovrl.f90
base/internals/Makefile
base/internals/psi_cswapdata.F90
base/internals/psi_cswaptran.F90
base/internals/psi_sswapdata.F90
base/internals/psi_sswaptran.F90
base/modules/Makefile
base/modules/psb_blacs_mod.f90
base/modules/psb_comm_mod.f90
base/modules/psb_const_mod.f90
base/modules/psb_error_mod.F90
base/modules/psb_inter_desc_type.f90
base/modules/psb_penv_mod.F90
base/modules/psb_psblas_mod.f90
base/modules/psb_realloc_mod.F90
base/modules/psb_serial_mod.f90
base/modules/psb_sort_mod.f90
base/modules/psb_spmat_type.f90
base/modules/psb_spsb_mod.f90
base/modules/psb_string_mod.f90
base/modules/psb_tools_mod.f90
base/modules/psi_mod.f90
base/modules/psi_serial_mod.f90
base/psblas/Makefile
base/psblas/psb_camax.f90
base/psblas/psb_casum.f90
base/psblas/psb_caxpby.f90
base/psblas/psb_cdot.f90
base/psblas/psb_cnrm2.f90
base/psblas/psb_cnrmi.f90
base/psblas/psb_cspmm.f90
base/psblas/psb_cspsm.f90
base/psblas/psb_dnrmi.f90
base/psblas/psb_samax.f90
base/psblas/psb_sasum.f90
base/psblas/psb_saxpby.f90
base/psblas/psb_sdot.f90
base/psblas/psb_snrm2.f90
base/psblas/psb_snrmi.f90
base/psblas/psb_sspmm.f90
base/psblas/psb_sspsm.f90
base/psblas/psb_sxdot.f90
base/psblas/psb_zaxpby.f90
base/psblas/psb_znrmi.f90
base/psblas/pstreecomb.F
base/serial/Makefile
base/serial/aux/Makefile
base/serial/aux/cacmp_mod.f90
base/serial/aux/calcmp_mod.f90
base/serial/aux/calsr.f90
base/serial/aux/calsrx.f90
base/serial/aux/camsort_dw.f90
base/serial/aux/camsort_up.f90
base/serial/aux/camsr.f90
base/serial/aux/camsrx.f90
base/serial/aux/casr.f90
base/serial/aux/casrx.f90
base/serial/aux/clcmp_mod.f90
base/serial/aux/clsr.f90
base/serial/aux/clsrx.f90
base/serial/aux/sasr.f90
base/serial/aux/sasrx.f90
base/serial/aux/smsort_dw.f90
base/serial/aux/smsort_up.f90
base/serial/aux/smsr.f90
base/serial/aux/smsrx.f90
base/serial/aux/ssr.f90
base/serial/aux/ssrx.f90
base/serial/coo/Makefile
base/serial/coo/ccoomm.f
base/serial/coo/ccoomv.f
base/serial/coo/ccoonrmi.f
base/serial/coo/ccoorws.f
base/serial/coo/ccoosm.f
base/serial/coo/ccoosv.f
base/serial/coo/dcoosm.f
base/serial/coo/scoomm.f
base/serial/coo/scoomv.f
base/serial/coo/scoonrmi.f
base/serial/coo/scoorws.f
base/serial/coo/scoosm.f
base/serial/coo/scoosv.f
base/serial/coo/zcoosm.f
base/serial/csr/Makefile
base/serial/csr/ccrnrmi.f
base/serial/csr/ccsrck.f
base/serial/csr/ccsrmm.f
base/serial/csr/ccsrrws.f
base/serial/csr/ccsrsm.f
base/serial/csr/csrmv.f
base/serial/csr/csrsv.f
base/serial/csr/dcsrck.f
base/serial/csr/dcsrmm.f
base/serial/csr/dcsrmv.f
base/serial/csr/dcsrmv2.f
base/serial/csr/dcsrmv3.f
base/serial/csr/dcsrmv4.f
base/serial/csr/dcsrrws.f
base/serial/csr/dcsrsm.f
base/serial/csr/dcsrsv.f
base/serial/csr/scrnrmi.f
base/serial/csr/scsrmm.f
base/serial/csr/scsrmv.f
base/serial/csr/scsrmv2.f
base/serial/csr/scsrmv3.f
base/serial/csr/scsrmv4.f
base/serial/csr/scsrsm.f
base/serial/csr/scsrsv.f
base/serial/csr/zcrnrmi.f
base/serial/csr/zcsrck.f
base/serial/csr/zcsrmm.f
base/serial/csr/zcsrrws.f
base/serial/csr/zcsrsm.f
base/serial/csr/zsrmv.f
base/serial/csr/zsrsv.f
base/serial/dp/Makefile
base/serial/dp/ccoco.f
base/serial/dp/ccocr.f
base/serial/dp/ccrco.f
base/serial/dp/ccrcr.f
base/serial/dp/ccrjd.f
base/serial/dp/cgind_tri.f
base/serial/dp/cgindex.f
base/serial/dp/reordvn.f
base/serial/dp/scoco.f
base/serial/dp/scocr.f
base/serial/dp/scrco.f
base/serial/dp/scrcr.f
base/serial/dp/scrjd.f
base/serial/dp/sgind_tri.f
base/serial/dp/sgindex.f
base/serial/f77/Makefile
base/serial/f77/caxpby.f
base/serial/f77/ccsmm.f
base/serial/f77/ccsnmi.f
base/serial/f77/ccsrws.f
base/serial/f77/ccssm.f
base/serial/f77/cgelp.f
base/serial/f77/clpupd.f
base/serial/f77/cswmm.f
base/serial/f77/cswsm.f
base/serial/f77/daxpby.f
base/serial/f77/dcsmm.f
base/serial/f77/dcsnmi.f
base/serial/f77/dcsrp.f
base/serial/f77/dcsrws.f
base/serial/f77/dcssm.f
base/serial/f77/dgelp.f
base/serial/f77/dlpupd.f
base/serial/f77/dswmm.f
base/serial/f77/dswsm.f
base/serial/f77/saxpby.f
base/serial/f77/scsmm.f
base/serial/f77/scsnmi.f
base/serial/f77/scsrws.f
base/serial/f77/scssm.f
base/serial/f77/sgelp.f
base/serial/f77/slpupd.f
base/serial/f77/smmp.f
base/serial/f77/sswmm.f
base/serial/f77/sswsm.f
base/serial/f77/zcsmm.f
base/serial/f77/zcsnmi.f
base/serial/f77/zcsrws.f
base/serial/f77/zcssm.f
base/serial/f77/zgelp.f
base/serial/f77/zlpupd.f
base/serial/f77/zswmm.f
base/serial/f77/zswsm.f
base/serial/jad/Makefile
base/serial/jad/sjadmm.f
base/serial/jad/sjadmv.f
base/serial/jad/sjadmv2.f
base/serial/jad/sjadmv3.f
base/serial/jad/sjadmv4.f
base/serial/jad/sjadnr.f
base/serial/jad/sjadrws.f
base/serial/jad/sjadsm.f
base/serial/jad/sjadsv.f
base/serial/jad/sjdnrmi.f
base/serial/jad/sjdrws.f
base/serial/psb_ccoins.f90
base/serial/psb_ccsmm.f90
base/serial/psb_ccsmv.f90
base/serial/psb_ccsnmi.f90
base/serial/psb_ccsprt.f90
base/serial/psb_ccssm.f90
base/serial/psb_ccssv.f90
base/serial/psb_cfixcoo.f90
base/serial/psb_cgelp.f90
base/serial/psb_cipcoo2csc.f90
base/serial/psb_cipcoo2csr.f90
base/serial/psb_cipcsr2coo.f90
base/serial/psb_cneigh.f90
base/serial/psb_cnumbmm.f90
base/serial/psb_crwextd.f90
base/serial/psb_cspclip.f90
base/serial/psb_cspcnv.f90
base/serial/psb_cspgetrow.f90
base/serial/psb_cspgtblk.f90
base/serial/psb_cspgtdiag.f90
base/serial/psb_cspscal.f90
base/serial/psb_csymbmm.f90
base/serial/psb_ctransc.f90
base/serial/psb_ctransp.f90
base/serial/psb_dcoins.f90
base/serial/psb_dspcnv.f90
base/serial/psb_getrow_mod.f90
base/serial/psb_regen_mod.f90
base/serial/psb_scoins.f90
base/serial/psb_scsmm.f90
base/serial/psb_scsmv.f90
base/serial/psb_scsnmi.f90
base/serial/psb_scsprt.f90
base/serial/psb_scssm.f90
base/serial/psb_scssv.f90
base/serial/psb_sfixcoo.f90
base/serial/psb_sgelp.f90
base/serial/psb_sipcoo2csc.f90
base/serial/psb_sipcoo2csr.f90
base/serial/psb_sipcsr2coo.f90
base/serial/psb_sneigh.f90
base/serial/psb_snumbmm.f90
base/serial/psb_srwextd.f90
base/serial/psb_sspclip.f90
base/serial/psb_sspcnv.f90
base/serial/psb_sspgetrow.f90
base/serial/psb_sspgtblk.f90
base/serial/psb_sspgtdiag.f90
base/serial/psb_sspscal.f90
base/serial/psb_ssymbmm.f90
base/serial/psb_stransp.f90
base/serial/psb_update_mod.f90
base/serial/psb_zcoins.f90
base/serial/psb_zcsnmi.f90
base/serial/psb_zspcnv.f90
base/tools/Makefile
base/tools/psb_callc.f90
base/tools/psb_casb.f90
base/tools/psb_ccdbldext.F90
base/tools/psb_cfree.f90
base/tools/psb_cins.f90
base/tools/psb_cspalloc.f90
base/tools/psb_cspasb.f90
base/tools/psb_cspfree.f90
base/tools/psb_csphalo.F90
base/tools/psb_cspins.f90
base/tools/psb_csprn.f90
base/tools/psb_dspins.f90
base/tools/psb_sallc.f90
base/tools/psb_sasb.f90
base/tools/psb_scdbldext.F90
base/tools/psb_sfree.f90
base/tools/psb_sins.f90
base/tools/psb_sspalloc.f90
base/tools/psb_sspasb.f90
base/tools/psb_sspfree.f90
base/tools/psb_ssphalo.F90
base/tools/psb_sspins.f90
base/tools/psb_ssprn.f90
base/tools/psb_zspins.f90
config/acx_lapack.m4
configure.ac
configure
krylov/Makefile
krylov/psb_cbicg.f90
krylov/psb_ccg.f90
krylov/psb_ccgs.f90
krylov/psb_ccgstab.f90
krylov/psb_ccgstabl.f90
krylov/psb_crgmres.f90
krylov/psb_dcg.F90
krylov/psb_dcg.f90
krylov/psb_krylov_mod.f90
krylov/psb_sbicg.f90
krylov/psb_scg.F90
krylov/psb_scgs.f90
krylov/psb_scgstab.F90
krylov/psb_scgstabl.f90
krylov/psb_srgmres.f90
krylov/psb_zcg.F90
krylov/psb_zcg.f90
prec/Makefile
prec/psb_cbjac_aply.f90
prec/psb_cbjac_bld.f90
prec/psb_cdiagsc_bld.f90
prec/psb_cgprec_aply.f90
prec/psb_cilu_fct.f90
prec/psb_cprc_aply.f90
prec/psb_cprecbld.f90
prec/psb_cprecinit.f90
prec/psb_cprecset.f90
prec/psb_prec_mod.f90
prec/psb_prec_type.f90
prec/psb_sbjac_aply.f90
prec/psb_sbjac_bld.f90
prec/psb_sdiagsc_bld.f90
prec/psb_sgprec_aply.f90
prec/psb_silu_fct.f90
prec/psb_sprc_aply.f90
prec/psb_sprecbld.f90
prec/psb_sprecinit.f90
prec/psb_sprecset.f90
test/fileread/Makefile
test/fileread/cf_sample.f90
test/fileread/df_sample.f90
test/fileread/getp.f90
test/fileread/runs/cfs.inp
test/fileread/runs/sfs.inp
test/fileread/sf_sample.f90
test/fileread/zf_sample.f90
test/pargen/Makefile
test/pargen/ppde.f90
test/pargen/runs/ppde.inp
test/pargen/spde.f90
util/psb_hbio_mod.f90
util/psb_mat_dist_mod.f90
util/psb_mmio_mod.f90
util/psb_read_mat_mod.f90
Merged the single precision branch.
17 years ago
Salvatore Filippone
d616b83f6f
psblas2-dev:
...
Changelog
base/internals/Makefile
base/internals/avltree.c
base/internals/avltree.h
base/internals/psi_bld_tmphalo.f90
base/internals/psi_fnd_owner.f90
base/internals/psi_idx_cnv.f90
base/internals/psi_idx_ins_cnv.f90
base/internals/srcht.c
base/modules/Makefile
base/modules/psb_avl_mod.f90
base/modules/psb_desc_type.f90
base/tools/psb_cd_inloc.f90
base/tools/psb_cdals.f90
base/tools/psb_cdalv.f90
base/tools/psb_cdins.f90
base/tools/psb_icdasb.F90
Merged AVL changes.
17 years ago
Salvatore Filippone
c1d96960d8
psblas-dev:
...
17 years ago
Salvatore Filippone
e2234b0177
psblas:
...
17 years ago
Salvatore Filippone
9dc5a8bc11
psblas:
...
base/internals/Makefile
base/internals/psi_dswapdata.F90
base/internals/psi_dswaptran.F90
base/internals/psi_iswapdata.F90
base/internals/psi_iswaptran.F90
base/internals/psi_zswapdata.F90
base/internals/psi_zswaptran.F90
base/modules/Makefile
base/modules/psb_base_mod.f90
base/modules/psb_desc_type.f90
base/modules/psb_inter_desc_type.f90
base/modules/psb_realloc_mod.F90
base/modules/psb_serial_mod.f90
base/modules/psb_spmat_type.f90
base/modules/psb_tools_mod.f90
base/modules/psi_mod.f90
base/modules/psi_serial_mod.f90
base/tools/psb_cdcpy.f90
base/tools/psb_dcdovr.F90
base/tools/psb_glob_to_loc.f90
base/tools/psb_loc_to_glob.f90
base/tools/psb_zcdovr.F90
Merged changes from psblas-intermesh branch up to rev. 2809.
17 years ago
Salvatore Filippone
1aa0b01613
psblas: fix initialization of blk%pl|pr in sphalo, was giving a
...
segfault on SP
17 years ago
Salvatore Filippone
7dea81e732
17 years ago
Salvatore Filippone
9d10b5104e
Added first round of heap handling routines for MLD2P4.
17 years ago
Salvatore Filippone
0911703866
Fixed in-line docs.
17 years ago
Salvatore Filippone
ae4600eefb
Changes for SUN compilers.
18 years ago
Salvatore Filippone
217e6b2a52
Reorganized USE hierarchy.
...
Cleaned up the PREC directory.
18 years ago
Salvatore Filippone
faa6867bb8
Fixed makefile and use statements for psb_msort, psb_qsort etc.
18 years ago
Salvatore Filippone
719d69246e
Merged changes for serial version.
18 years ago
Salvatore Filippone
8bc00d4083
Updated PENV with min/max.
...
Updated docs on utilities.
18 years ago
Salvatore Filippone
22686aefa0
Aligned to new names for internal constants.
...
Fixed ext field of descriptors. First version; to be further
fixed storing force_hv into the descriptor itself.
18 years ago
Salvatore Filippone
229b097a2b
Fix Makefile to preserve module file dates while copying, avoiding compilation
...
cascades when possible.
18 years ago
Salvatore Filippone
af5b65606c
Second step of major reorg: tested compilation.
18 years ago
Salvatore Filippone
7a3e36db56
First reorganization towards psblas-2.1/3.0
18 years ago