<commit_before>// =================================================================== //
// Copyright (C) 2014-2019 <NAME>                                  //
//                                                                     //
// This Source Code Form is subject to the terms of the Mozilla Public //
// License, v. 2.0. If a copy of the MPL was not distributed with this //
// file, You can obtain one at http://mozilla.org/MPL/2.0/.            //
// =================================================================== //

#ifndef LIBBSDF_HALF_DIFFERENCE_COORDINATE_SYSTEM_H
#define LIBBSDF_HALF_DIFFERENCE_COORDINATE_SYSTEM_H

#include <libbsdf/Common/SphericalCoordinateSystem.h>

namespace lb {

/*!
 * \struct  HalfDifferenceCoordinateSystem
 * \brief   The HalfDifferenceCoordinateSystem struct provides the functions of a half difference coordinate system.
 *
 * See <NAME>. 1998. A New Change of Variables for Efficient BRDF Representation.
 *
 * The coordinate system has four angle parameters.
 *   - \a halfTheta: the polar angle of a halfway vector
 *   - \a halfPhi: the azimuthal angle of a halfway vector
 *   - \a diffTheta: the polar angle of a difference vector
 *   - \a diffPhi: the azimuthal angle of a difference vector
 *
 * \a diff is an abbreviation for difference. \a halfPhi is not used for isotropic BRDFs.
 */
struct HalfDifferenceCoordinateSystem<commit_msg>Fixed include file<commit_after>// =================================================================== //
// Copyright (C) 2014-2019 <NAME>                                  //
//                                                                     //
// This Source Code Form is subject to the terms of the Mozilla Public //
// License, v. 2.0. If a copy of the MPL was not distributed with this //
// file, You can obtain one at http://mozilla.org/MPL/2.0/.            //
// =================================================================== //

#ifndef LIBBSDF_HALF_DIFFERENCE_COORDINATE_SYSTEM_H
#define LIBBSDF_HALF_DIFFERENCE_COORDINATE_SYSTEM_H

#include <libbsdf/Common/SphericalCoordinateSystem.h>
#include <libbsdf/Common/Utility.h>

namespace lb {

/*!
 * \struct  HalfDifferenceCoordinateSystem
 * \brief   The HalfDifferenceCoordinateSystem struct provides the functions of a half difference coordinate system.
 *
 * See <NAME>. 1998. A New Change of Variables for Efficient BRDF Representation.
 *
 * The coordinate system has four angle parameters.
 *   - \a halfTheta: the polar angle of a halfway vector
 *   - \a halfPhi: the azimuthal angle of a halfway vector
 *   - \a diffTheta: the polar angle of a difference vector
 *   - \a diffPhi: the azimuthal angle of a difference vector
 *
 * \a diff is an abbreviation for difference. \a halfPhi is not used for isotropic BRDFs.
 */
struct HalfDifferenceCoordinateSystem
{'fraction_non_alphanumeric': 0.1682573347472605, 'fraction_numerical': 0.011311417462000707, 'mean_word_length': 2.7733333333333334, 'pattern_counts': {'":': 0, '<': 10, '<?xml version=': 0, '>': 10, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4888769', 'n_tokens_mistral': 775, 'n_tokens_neox': 699, 'n_words': 271}