<commit_before>{ stdenv, fetchurl, gfortran, tolerateCpuTimingInaccuracy ? true, shared ? false }:

let
  optionalString = stdenv.lib.optionalString;
in

stdenv.mkDerivation {
  name = "atlas-3.9.67";

  src = fetchurl {
    url = mirror://sf/math-atlas/atlas3.9.67.tar.bz2;
    sha256 = "06xxlv440z8a3qmfrh17p28girv71c6awvpw5vhpspr0pcsgk1pa";
  };

  # Configure outside of the source directory.
  preConfigure = '' mkdir build; cd build; configureScript=../configure; '';

  # * -fPIC allows to build atlas inside shared objects, as octave does.
  #
  # * Atlas aborts the build if it detects that some kind of CPU frequency
  #   scaling is active on the build machine because that feature offsets the
  #   performance timings. We ignore that check, however, because with binaries
  #   being pre-built on Hydra those timings aren't accurate for the local
  #   machine in the first place.
  # * Atlas detects the cpu and does some tricks. For example, notices the
  #   hydra AMD Family 10h computer, and uses a SSE trick for it (bit 17 of MXCSR)
  #   available, for what I know, only in that family. So we hardcode K7
  #     -A 31 = Athlon K7
  #     -A 18 = Pentium II
  #     -V 192 = SSE1|SSE2 (Or it takes SSE3 somehow in my machine without SSE3)
  #     -V 0 = No SIMD (Pentium II does not have any SSE)
  #     -t 0 = No threading
  configureFlags = "-Fa alg -fPIC -t 0"
    + optionalString stdenv.isi686 " -b 32 -A 18 -V 0"
    + optionalString stdenv.isx86_64 " -A 31 -V 192"
    + optionalString tolerateCpuTimingInaccuracy " -Si cputhrchk 0"
    + optionalString shared " --shared "
    ;<commit_msg>I hope now I guess fine how to tell ATLAS not to accept any simd for i686.<commit_after>{ stdenv, fetchurl, gfortran, tolerateCpuTimingInaccuracy ? true, shared ? false }:

let
  optionalString = stdenv.lib.optionalString;
in

stdenv.mkDerivation {
  name = "atlas-3.9.67";

  src = fetchurl {
    url = mirror://sf/math-atlas/atlas3.9.67.tar.bz2;
    sha256 = "06xxlv440z8a3qmfrh17p28girv71c6awvpw5vhpspr0pcsgk1pa";
  };

  # Configure outside of the source directory.
  preConfigure = '' mkdir build; cd build; configureScript=../configure; '';

  # * -fPIC allows to build atlas inside shared objects, as octave does.
  #
  # * Atlas aborts the build if it detects that some kind of CPU frequency
  #   scaling is active on the build machine because that feature offsets the
  #   performance timings. We ignore that check, however, because with binaries
  #   being pre-built on Hydra those timings aren't accurate for the local
  #   machine in the first place.
  # * Atlas detects the cpu and does some tricks. For example, notices the
  #   hydra AMD Family 10h computer, and uses a SSE trick for it (bit 17 of MXCSR)
  #   available, for what I know, only in that family. So we hardcode K7
  #     -A 31 = Athlon K7
  #     -A 18 = Pentium II
  #     -V 192 = SSE1|SSE2 (Or it takes SSE3 somehow in my machine without SSE3)
  #     -V 1 = No SIMD (Pentium II does not have any SSE)
  #     -t 0 = No threading
  configureFlags = "-Fa alg -fPIC -t 0"
    + optionalString stdenv.isi686 " -b 32 -A 18 -V 1"
    + optionalString stdenv.isx86_64 " -A 31 -V 192"
    + optionalString tolerateCpuTimingInaccuracy " -Si cputhrchk 0"
    + optionalString shared " --shared "
    ;
{'fraction_non_alphanumeric': 0.08457108214610488, 'fraction_numerical': 0.04152773567747802, 'mean_word_length': 3.024390243902439, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '370791', 'n_tokens_mistral': 1233, 'n_tokens_neox': 1110, 'n_words': 416}