14#include "arcane/core/CartesianGridDimension.h" 
   16#include "arcane/utils/Math.h" 
   30CartesianGridDimension::
 
   31CartesianGridDimension(
Int64 nb_cell_x, 
Int64 nb_cell_y, 
Int64 nb_cell_z)
 
   32: m_nb_cell{ 
math::max(nb_cell_x, 0), 
math::max(nb_cell_y, 0), 
math::max(nb_cell_z, 0) }
 
 
   40CartesianGridDimension::
 
   41CartesianGridDimension(
Int64 nb_cell_x, 
Int64 nb_cell_y)
 
   42: CartesianGridDimension(nb_cell_x, nb_cell_y, 0)
 
 
   49CartesianGridDimension::
 
   50CartesianGridDimension(
const Int64x2& dims)
 
   51: CartesianGridDimension(dims.x, dims.y)
 
 
   58CartesianGridDimension::
 
   59CartesianGridDimension(
const Int64x3& dims)
 
   60: CartesianGridDimension(dims.x, dims.y, dims.z)
 
 
   67CartesianGridDimension::
 
   68CartesianGridDimension(
const Int32x2& dims)
 
   69: CartesianGridDimension(dims.x, dims.y)
 
 
   76CartesianGridDimension::
 
   77CartesianGridDimension(
const Int32x3& dims)
 
   78: CartesianGridDimension(dims.x, dims.y, dims.z)
 
 
   85void CartesianGridDimension::
 
   88  const bool is_dim3 = (m_nb_cell.z > 0);
 
   89  const bool is_dim2_or_3 = is_dim3 || (m_nb_cell.y > 0);
 
   91  m_nb_face.x = m_nb_cell.x + 1;
 
   92  m_nb_node.x = m_nb_cell.x + 1;
 
   94    m_nb_face.y = m_nb_cell.y + 1;
 
   95    m_nb_node.y = m_nb_cell.y + 1;
 
   98    m_nb_face.z = m_nb_cell.z + 1;
 
   99    m_nb_node.z = m_nb_cell.z + 1;
 
  102  m_nb_face_oriented.x = m_nb_face.x * m_nb_cell.y;
 
  103  m_nb_face_oriented.y = m_nb_face.y * m_nb_cell.x;
 
  104  m_nb_face_oriented.z = m_nb_cell.x * m_nb_cell.y;
 
  106  m_nb_cell_xy = m_nb_cell.x * m_nb_cell.y;
 
  107  m_total_nb_cell = m_nb_cell_xy;
 
  109    m_total_nb_cell *= m_nb_cell.z;
 
Espace de nom pour les fonctions mathématiques.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int64_t Int64
Type entier signé sur 64 bits.