go-hep.org/x/hep@v0.38.1/heppdt/gen-tabledata.go (about)

     1  // Copyright ©2017 The go-hep Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  //go:build ignore
     6  
     7  // gen-tabledata generates tabledata.go
     8  package main
     9  
    10  import (
    11  	"io"
    12  	"log"
    13  	"os"
    14  )
    15  
    16  func main() {
    17  	f, err := os.Create("tabledata.go")
    18  	if err != nil {
    19  		log.Fatalf(
    20  			"could not create 'tabledata.go': %v\n",
    21  			err,
    22  		)
    23  	}
    24  	defer f.Close()
    25  
    26  	for _, fname := range []string{
    27  		"tabledata.header",
    28  		"tabledata.tbl",
    29  		"tabledata.footer",
    30  	} {
    31  		src, err := os.Open(fname)
    32  		if err != nil {
    33  			log.Fatalf(
    34  				"could not open data file [%s]: %v\n",
    35  				fname,
    36  				err,
    37  			)
    38  		}
    39  		defer src.Close()
    40  		_, err = io.Copy(f, src)
    41  		if err != nil {
    42  			log.Fatalf(
    43  				"error copying content of [%s]: %v\n",
    44  				fname,
    45  				err,
    46  			)
    47  		}
    48  		err = src.Close()
    49  		if err != nil {
    50  			log.Fatalf(
    51  				"error closing file [%s]: %v\n",
    52  				fname,
    53  				err,
    54  			)
    55  		}
    56  	}
    57  	err = f.Close()
    58  	if err != nil {
    59  		log.Fatalf("error closing [%s]: %v\n",
    60  			f.Name(),
    61  			err,
    62  		)
    63  	}
    64  }