github.com/gonum/lapack@v0.0.0-20181123203213-e4cdc5a0bff9/internal/testdata/dlasqtest/Readme.md (about) 1 This set of codes generates tests for the dlasq* routines. 2 3 The high level routines are testdlasq*.f90. The testdlasq*.f90 routines are intended in combination with the routines in gonum/lapack/testlapack. 4 During execution, these high-level routines record the inputs and outputs 5 to the executed subroutines. For example, testdlasq3, when executed, 6 generates files gen4tests.txt and gen5tests.txt that record the inputs 7 and outputs to the evaluation of dlasq4 and dlasq5 respectively. The output 8 format in gen*tests.txt is the struct literal that matches the respective test 9 in gonum/lapack/testlapack/dlasq*.go. Thus, these generated tests can be copied 10 into the testing routine to test the native implementation. 11 12 The testing routines in testlapack have code for generating inputs for these 13 fortran routines. Typically, one would isolate the particular failing test, 14 and modify the testlapack routine to print it to the terminal, for example 15 in testlapack/dlasq3.go one might add 16 17 printDlasq3FortranInput(test) 18 os.Exit(1) 19 20 This prints variable initialization for dlasq3 routine to the terminal, which 21 can be copied and pasted into testdlasq3.f90. Please note that this process 22 is not completely automated. Some of the other initialization may need to 23 change, particularly the size allocation of the data array(s).