<commit_before>#ifndef REAL3_H
#define REAL3_H
#include "ChParallelDefines.h"
#include <nmmintrin.h>
#include "real.h"
#include "real2.h"
#define R3  real3
#define ZERO_VECTOR R3(0)
  static const __m128 SIGNMASK = _mm_castsi128_ps(_mm_set1_epi32(0x80000000));


 class  __attribute__ ((aligned(16))) real3  {
public:
  union{
     struct { real x, y, z; };
     __m128 mmvalue;
  };


  inline real3() : mmvalue(_mm_setzero_ps()) {}
  inline real3(float a) : mmvalue(_mm_set1_ps(a)) {}
  inline real3(float a, float b, float c) :  mmvalue(_mm_setr_ps(a,b,c,0)) {}
  inline real3(__m128 m) : mmvalue(m) {}

  inline operator __m128() const { return mmvalue; }

  inline real3 operator+(const real3& b) const { return _mm_add_ps(mmvalue, b.mmvalue);}
  inline real3 operator-(const real3& b) const { return _mm_sub_ps(mmvalue, b.mmvalue);}
  inline real3 operator*(const real3& b) const { return _mm_mul_ps(mmvalue, b.mmvalue);}
  inline real3 operator/(const real3& b) const { return _mm_div_ps(mmvalue, b.mmvalue);}<commit_msg>perhaps adding in the w term will help the compiler to figure stuff out.<commit_after>#ifndef REAL3_H
#define REAL3_H
#include "ChParallelDefines.h"
#include <nmmintrin.h>
#include "real.h"
#include "real2.h"
#define R3  real3
#define ZERO_VECTOR R3(0)
  static const __m128 SIGNMASK = _mm_castsi128_ps(_mm_set1_epi32(0x80000000));


 class  __attribute__ ((aligned(16))) real3  {
public:
  union{
     struct { real x, y, z, w; };
     __m128 mmvalue;
  };


  inline real3() : mmvalue(_mm_setzero_ps()) {}
  inline real3(float a) : mmvalue(_mm_set1_ps(a)) {}
  inline real3(float a, float b, float c) :  mmvalue(_mm_setr_ps(a,b,c,0)) {}
  inline real3(__m128 m) : mmvalue(m) {}

  inline operator __m128() const { return mmvalue; }

  inline real3 operator+(const real3& b) const { return _mm_add_ps(mmvalue, b.mmvalue);}
  inline real3 operator-(const real3& b) const { return _mm_sub_ps(mmvalue, b.mmvalue);}
  inline real3 operator*(const real3& b) const { return _mm_mul_ps(mmvalue, b.mmvalue);}
  inline real3 operator/(const real3& b) const { return _mm_div_ps(mmvalue, b.mmvalue);}
{'fraction_non_alphanumeric': 0.13031161473087818, 'fraction_numerical': 0.04815864022662889, 'mean_word_length': 4.952247191011236, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 2, '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': '6868884', 'n_tokens_mistral': 863, 'n_tokens_neox': 810, 'n_words': 207}