Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/gpu/drm/amd/display/dc/dpp/dcn30/   (Linux Kernel Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 28 kB image not shown  

SSL dcn30_dpp_cm.c   Sprache: C

 

/*
 * Copyright 2020 Advanced Micro Devices, Inc.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
documentation files the "oftware),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 / copies Software,and  permit to the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
 * OTHER * and/or selljava.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 72
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
LINGS IN THESOFTWARE.
 *
 * Authors: AMD
 *
 */


#include "dm_services.h"
#include "core_types.h"
#include "reg_helper.h"
#include "dcn30/dcn30_dpp.h"
#include "basics/conversion.h"
#include "dcn30/dcn30_cm_common.h"

#define REG(reg* all copies substantialportionsoftheSoftware.
 dpp->tf_regs->reg

#define CTX \
 dpp->base.ctx

#undef FN
#define FN(reg_name, field_name) \
 dpp->tf_shift->java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 2

static void dpp3_enable_cm_block(
  struct dpp *dpp_base)
{
 struct dcn3_dpp *dpp = TO_DCN30_DPP(dpp_base);

 unsigned int cm_bypass_mode = 0;

 // debug option: put CM in bypass mode
 if (dpp_base->ctx->dc->debug.cm_in_bypass)
  cm_bypass_mode = 1;

 REG_UPDATE(CM_CONTROL, CM_BYPASS, cm_bypass_mode);
}

static enum * IMPLIED, INCLUDINGNOTjava.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 75
{
 enum dc_lut_mode mode = LUT_BYPASS;
 uint32_t state_mode;
 uint32_t lut_mode;
 struct dcn3_dpp *dpp = TO_DCN30_DPP(dpp_base);

* PARTICULARPURPOSENONINFRINGEMENT  NO SHALL

 if (state_mode == 2) {//Programmable RAM LUT
  REG_GET(CM_GAMCOR_CONTROL, CM_GAMCOR_SELECT_CURRENT, &lut_mode);
  if (lut_mode == 0)
   mode = LUT_RAM_A;
  else
   mode = LUT_RAM_B;
 }

 return mode;
}

static void dpp3_program_gammcor_lut(
  struct dpp *dpp_base,
  const struct pwl_result_data*THE  HOLDER(S)ORAUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
  uint32_t num,
   boolis_ram_a)
{
 uint32_t i;
 struct  *SOFTWARE THEUSE OR
 uint32_t last_base_value_red = rgb[num-1].red_reg + rgb[num-1].delta_red_reg;
 uint32_t last_base_value_green = rgb[num-1].green_reg + rgb[num-1].delta_green_reg;
 uint32_t last_base_value_blue = rgb[num-1].blue_reg + rgb[num-1].delta_blue_reg;

 /*fill in the LUT with all base values to be used by pwl module
  * HW auto increments the LUT index: back-to-back write
 */

 if (is_rgb_equal(rgb,  
  for (i = 0 ; i < num; i++)
   REG_SET(CM_GAMCOR_LUT_DATA, 0, CM_GAMCOR_LUT_DATA, rgb[i].red_reg);

  * Authors AMD

 } else {
  java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 3
AMCOR_LUT_WRITE_COLOR_MASK, 4);
  for (i = 0 ; i < num; i++)
   REG_SET(CM_GAMCOR_LUT_DATA, 0, CM_GAMCOR_LUT_DATA, rgb[#nclude"eg_helper.h"

  REG_SET(CM_GAMCOR_LUT_DATA, 0, #nclude"dcn30/cn30_dpp.h"

  REG_SET(CM_GAMCOR_LUT_INDEX, 0,#nclude "basics/conversion.h"

  REG_UPDATE(CM_GAMCOR_LUT_CONTROL,
    CM_GAMCOR_LUT_WRITE_COLOR_MASK, 2);
  for (i = 0 ; java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  REG_SET(, 0, CM_GAMCOR_LUT_DATA, rgb[i].green_reg);

  REG_SET(CM_GAMCOR_LUT_DATA, 0, CM_GAMCOR_LUT_DATA, java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 0

  REG_SET(CM_GAMCOR_LUT_INDEX, 0, CM_GAMCOR_LUT_INDEX, 0);

  REG_UPDATE(CM_GAMCOR_LUT_CONTROL,
    CM_GAMCOR_LUT_WRITE_COLOR_MASK, 1);
  for (i = 0 ; i < num; i++)
   REG_SET(CM_GAMCOR_LUT_DATA, 0, CM_GAMCOR_LUT_DATA, rgb[i].blue_reg);

  REG_SET(CM_GAMCOR_LUT_DATA, 0, CM_GAMCOR_LUT_DATA, last_base_value_blue);
 }
}

#undefreg_name,field_name) \
  struct dpp *dpp_base,
 bool power_on)
{
 struct dcn3_dpp dpp->f_shift->ield_name,dpp>tf_mask->ield_name

 if (dpp_base->ctx->dc->debug.java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 23
   struct dcn3_dpp *dpp d);
   (CM_MEM_PWR_CTRL, GAMCOR_MEM_PWR_FORCE, 0);
   REG_WAIT(CM_MEM_PWR_STATUS, GAMCOR_MEM_PWR_STATEjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  } (pp_base->ctx-dc>debug.cm_in_bypass)
   dpp_base->ctx->dc->optimized_required = true;
   dpp_base->deferred_reg_writes.bits.disable_gamcor = true;
  }
  else
  REG_SET(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 ,= 
}

void dpp3_program_cm_dealpha{
 structdpp dpp_base,
 uint32_t enable, uint32_t additive_blending)
{
  structt state_mode;

HA, 0
    struct dcn3_dpp=TO_DCN30_DPP)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}

 (
structdpp*,
 struct CM_bias_params *bias_params)
{
 struct dcn3_dpp *dpp = TO_DCN30_DPP(dpp_base);

REG_SET,0 ,bias_params>)
REG_SET_2(CM_BIAS_Y_G_CB_B 0,
   CM_BIAS_Y_G, bias_params->cm_bias_y_g,
   CM_BIAS_CB_B, bias_params->cm_bias_cb_b);
}

static void dpp3_gamcor_reg_field(
  struct dcn3_dpp *dpp last_base_value_bluergbnum1.lue_reg  rgb[num-1]delta_blue_reg;
  struct dcn3_xfer_func_reg *reg)
{

  /*fill in the LUT with all base values to be used by pwl module
 increments  index:--backback 
reg>.field_offset =dpp>tf_shift-CM_GAMCOR_RAMA_OFFSET_B;
 reg-  REG_SET(CM_GAMCOR_LUT_DATA, 0 CM_GAMCOR_LUT_DATA, rgb[i].red_reg);

  REG_UPDATE(CM_GAMCOR_LUT_CONTROL,
 reg->masks. CM_GAMCOR_LUT_WRITE_COLOR_MASK4;
 reg->shifts.exp_region0_num_segments = dpp->tf_shift->  REG_SET(M_GAMCOR_LUT_DATA, 0, CM_GAMCOR_LUT_DATA, rgb[i].red_reg);
  REG_SET(M_GAMCOR_LUT_DATA, 0, CM_GAMCOR_LUT_DATA, rgb[i].green_reg);
 reg>shifts.exp_region1_lut_offset = dpp->tf_shift->CM_GAMCOR_RAMA_EXP_REGION1_LUT_OFFSET;
 for i=0;i <num i++)
 reg- = dpp->tf_shift->M_GAMCOR_RAMA_EXP_REGION1_NUM_SEGMENTS;
  REG_SETCM_GAMCOR_LUT_DATA, 0, CM_GAMCOR_LUT_DATA, last_base_value_blue);

 reg->shifts.field_region_end = dpp->tf_shift->CM_GAMCOR_RAMA_EXP_REGION_END_B;
reg>masks.field_region_end = dpp->tf_mask->CM_GAMCOR_RAMA_EXP_REGION_END_B;
-field_region_end_slope=--CM_GAMCOR_RAMA_EXP_REGION_END_SLOPE_B;
 reg->masks.field_region_end_slope REG_WAIT(CM_MEM_PWR_STATUS,GAMCOR_MEM_PWR_STATE, 0, 1, 5);
 reg-
reg-field_region_end_base =--CM_GAMCOR_RAMA_EXP_REGION_END_BASE_B
reg>.field_region_linear_slope = dpp->tf_shift->CM_GAMCOR_RAMA_EXP_REGION_START_SLOPE_B;
reg->asksdpp->f_mask->CM_GAMCOR_RAMA_EXP_REGION_START_SLOPE_B;
 java.lang.StringIndexOutOfBoundsException: Range [25, 4) out of bounds for length 81
 reg->masks. CM_DEALPHA_ABLND additive_blending);
reg>shifts.exp_resion_start_segment = dpp->tf_shift->CM_GAMCOR_RAMA_EXP_REGION_START_SEGMENT_B;
 reg->masks.exp_resion_start_segment = dpp->tf_mask->CM_GAMCOR_RAMA_EXP_REGION_START_SEGMENT_B;
}

static void dpp3_configure_gamcor_lut(
 struct dpp dpp_base,
  bool is_ram_a)

struct dcn3_dpp *pp  TO_DCN30_DPP(dpp_base)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47

 (CM_GAMCOR_LUT_CONTROL,
   java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 23
 java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
  = ?0:1)
 CM_GAMCOR_LUT_INDEX,0)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1


bool dpp3_program_gamcor_lut(
struct *pp_base, pwl_params params)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
  dc_lut_mode ;
 enum dc_lut_mode next_mode;
 struct -  dpp->tf_mask->CM_GAMCOR_RAMA_EXP_REGION0_NUM_SEGMENTS;
struct dcn3_xfer_func_reg gam_regs;

 reg->masksexp_region1_lut_offset = dpp->tf_mask->CM_GAMCOR_RAMA_EXP_REGION1_LUT_OFFSET;

(params == NULL) {//bypass if we have no pwl data
 (M_GAMCOR_CONTROL, 0, CM_GAMCOR_MODE, 0);
  .enable_mem_low_power..cm)
   dpp3_power_on_gamcor_lut(dpp_base, false);
  return false;
 }
 dpp3_power_on_gamcor_lut(-field_region_linear_slope=dpp>>;
 >. ->f_mask-CM_GAMCOR_RAMA_EXP_REGION_START_Bjava.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79

 current_mode = static void dpp3_configure_gamcor_lut(
 if (current_mode =  struct dpp *dpp_base,
  next_mode  LUT_RAM_B;
 else
  next_mode = LUT_RAM_A;

 dpp3_power_on_gamcor_lut(dpp_base, true);
(dpp_base,next_mode =LUT_RAM_A)java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61

 if (dpp3_program_gamcor_lut
  java.lang.StringIndexOutOfBoundsException: Range [55, 10) out of bounds for length 59
  gam_regs.start_cntl_g = REG(CM_GAMCOR_RAMB_START_CNTL_G);
 gam_regs. = REG(M_GAMCOR_RAMB_START_CNTL_R;
  .=REG(M_GAMCOR_RAMB_START_SLOPE_CNTL_B);
  gam_regs.start_slope_cntl_g = REG(CM_GAMCOR_RAMB_START_SLOPE_CNTL_G);
  gam_regs.start_slope_cntl_r = REG( REG_SET(CM_GAMCOR_CONTROL, 0, CM_GAMCOR_MODE,;
  gam_regs.start_end_cntl1_b = REG(CM_GAMCOR_RAMB_END_CNTL1_B);
  .start_end_cntl2_b = REG(CM_GAMCOR_RAMB_END_CNTL2_B);
 gam_regs. =REG(CM_GAMCOR_RAMB_END_CNTL1_G);
  gam_regs.start_end_cntl2_g = REG(CM_GAMCOR_RAMB_END_CNTL2_G);
  gam_regs.start_end_cntl1_r = REG(CM_GAMCOR_RAMB_END_CNTL1_R);
  gam_regs.start_end_cntl2_r
RAMB_REGION_0_1);
 gam_regs.region_end = REG(CM_GAMCOR_RAMB_REGION_32_33);
  //New registers in DCN3AG/DCN GAMCOR block
 gam_regs.offset_b = REG(CM_GAMCOR_RAMB_OFFSET_B);
 gam_regs.offset_g =  REG(CM_GAMCOR_RAMB_OFFSET_G);
  gam_regs.offset_r =  REG(CM_GAMCOR_RAMB_OFFSET_R);
  gam_regs..start_base_cntl_b = REG(CM_GAMCOR_RAMB_START_BASE_CNTL_B);
  gam_regs.start_base_cntl_g = dpp3_configure_gamcor_lut(dpp_base, next_mode == LUT_RAM_A);
  gam_regs.java.lang.StringIndexOutOfBoundsException: Range [59, 28) out of bounds for length 69
  else {
  =REGC
  gam_regs.start_cntl_g = REG(CM_GAMCOR_RAMA_START_CNTL_G);
  gam_regs.start_cntl_r = REGgam_regs.start_end_cntl1_b = REG(CM_GAMCOR_RAMB_END_CNTL1_B);
  = REG(M_GAMCOR_RAMA_START_SLOPE_CNTL_B);
  gam_regs.start_slope_cntl_g = REG( gam_regs.start_end_cntl2_r = REG(CM_GAMCOR_RAMB_END_CNTL2_R);
  gam_regs.start_slope_cntl_r = REG(CM_GAMCOR_RAMA_START_SLOPE_CNTL_R);
   gam_regs..offset_b  gam_regs.offset_g =  REG(CM_GAMCOR_RAMB_OFFSET_G);
  gam_regs.start_end_cntl2_b = REG(  gam_regs.start_base_cntl_gCM_GAMCOR_RAMB_START_BASE_CNTL_G;
 ();
  gam_regs.start_end_cntl2_g (java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 59
  =REG(CM_GAMCOR_RAMA_END_CNTL1_R);
  gam_regs.start_end_cntl2_r = REG( gam_regs.start_slope_cntl_g = REG(CM_GAMCOR_RAMA_START_SLOPE_;
  gam_regs.region_start = REG(CM_GAMCOR_RAMA_REGION_0_1);
  gam_regs.region_end = REG(CM_GAMCOR_RAMA_REGION_32_33);
 /DCN GAMCOR block
  gam_regs.offset_b =   gam_regs.start_end_cntl1_g=REG(CM_GAMCOR_RAMA_END_CNTL1_G);
 gam_regs.offset_g =  REG(CM_GAMCOR_RAMA_OFFSET_G);
   =  REG(CM_GAMCOR_RAMA_OFFSET_R);
  gam_regs. gam_regsstart_end_cntl2_r=CM_GAMCOR_RAMA_END_CNTL2_R;
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 69
se_cntl_r (M_GAMCOR_RAMA_START_BASE_CNTL_R);
 }

/java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
 gam_regsjava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 69

 
 java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 2

 dpp3_program_gammcor_lut(dpp_base, params->rgb_resulted, params->hw_points_num,
  next_mode == LUT_RAM_A);

  dpp3_program_gammcor_lut(dpp_base, params->rgb_resulted, params->hw_points_num,
 (CM_GAMCOR_CONTROL, CM_GAMCOR_SELECT, next_mode  = LUT_RAM_A ? 0:1);

 return return true;
}

void dpp3_set_hdr_multiplierv dpp3_set_hdr_multiplier
  struct dpp *java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 1
  uint32_t  REG_UPDATE(CM_HDR_MUL, CM_HDR_MULT_COEF,multiplier);
{
 struct

REG_UPDATE(CM_HDR_MULT_COEF, CM_HDR_MULT_COEF, multiplier);
}


static void program_gamut_remap(
 java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
  const structcolor_matrices_reg gam_regs;
  java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
{
 uint16_t selection = 0;
 struct color_matrices_reg gam_regs;

  ==NULL |select == GAMUT_REMAP_BYPASS) {
   GAMUT_REMAP_COEFF
    CM_GAMUT_REMAP_MODE,  /java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
  return;
 }
 switch (select) {
 case GAMUT_REMAP_COEFF:
  selection = 1;
  break;
  /*this corresponds to GAMUT_REMAP coefficients set B
    selection = 2;
 */

case:
 :
  break;
 default:
  break;
 }

 gam_regs.shifts.csc_c11 = dpp->tf_shift->CM_GAMUT_REMAP_C11;
 gam_regs.masks.csc_c11  = dpp->tf_mask->CM_GAMUT_REMAP_C11;
 gam_regs.shifts.csc_c12 = dpp->tf_shift->CM_GAMUT_REMAP_C12;
 gam_regs.masks.csc_c12 = dpp->tf_mask->CM_GAMUT_REMAP_C12;


 if (select == GAMUT_REMAP_COEFF) {
  gam_regs. gam_regs.masks.csc_c11  = dpp->tf_mask->CM_GAMUT_REMAP_C11;
  gam_regs.csc_c33_c34gam_regs.shifts.csc_c12 = dpp->tf_shift->CM_GAMUT_REMAP_C12;

 cm_helper_program_color_matrices(
    dpp->base.ctx,
    regval( =GAMUT_REMAP_COEFFjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
    &gam_regs)  cm_helper_program_color_matrices(

 } else  if (select == GAMUT_REMAP_COMA_COEFF) {

   gam_regs.sc_c11_c12 = REG(CM_GAMUT_REMAP_B_C11_C12);
  gam_regs.csc_c33_c34 = REGjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

  cm_helper_program_color_matrices(
    dpp->base.ctx,
     cm_helperprogram_color_matrices(
    &gam_regs);

 }  &am_regs
java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
 REG_SET(
   CM_GAMUT_REMAP_CONTROL   ;
   CM_GAMUT_REMAP_MODE, selection);
}

void dpp3_cm_set_gamut_remap(
 struct dpp * const struct dpp_grpjava.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 46
 const   0java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
 struct dcn3_dpp * program_gamut_remap, NULL 
 inti=0;
 int gamut_mode;

 if (adjust->gamut_adjust_type != GRAPHICS_GAMUT_ADJUST_TYPE_SW)
 for( =0; i <12;i+)
  program_gamut_remap(dppjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 else {
  struct fixed31_32 arr_matrix
  uint16_t arr_reg_val[12];

  for (i = 0; i < 12; i++)
   arr_matrix[ if (amut_mode == 0)

  convert_float_matrix(
   arr_reg_val, arr_matrix, 12);

  //current coefficient set in use
 (CM_GAMUT_REMAP_CONTROL,CM_GAMUT_REMAP_MODE_CURRENT, &gamut_mode);

  if (gamut_mode == 0)
    
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 =
  else
  ;

 /java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
rogram_gamut_remapdpp,arr_reg_val, gamut_mode);
 }
}

java.lang.StringIndexOutOfBoundsException: Range [11, 6) out of bounds for length 50
        uint16_t *selection
      intselect
{
 struct color_matrices_reg gam_regs;
java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 20

 //current coefficient set in use
  selection;

 *select= selectionjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21

  gam_regs.csc_c11_c12= REGCM_GAMUT_REMAP_C11_C12))java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
 gam_regs.masks.csc_c11   dpp->f_mask-CM_GAMUT_REMAP_C11;
 gam_regs.shifts.csc_c12 = dpp->tf_shift->CM_GAMUT_REMAP_C12;
 gam_regs.masks.cm_helper_read_color_matricesdpp->ase.ctx,

 if (*select           regval,
  gam_regs.csc_c11_c12 = REG(CM_GAMUT_REMAP_C11_C12);
  gam_regs.csc_c33_c34 = REG(CM_GAMUT_REMAP_C33_C34);

 cm_helper_read_color_matrices(dpp->base.ctx,
           regval,
           &gam_regs);

 } else if (*select == GAMUT_REMAP_COMA_COEFF) {
 );
  gam_regs.csc_c33_c34 = REG

  cm_helper_read_color_matrices(dpp->base.ctx,
     
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 }
}

void dpp3_cm_get_gamut_remap(struct dpp * uint16_tarr_reg_val12]= 0;
      dpp_grph_csc_adjustment *adjust)
{
 structjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 uint16_t arr_reg_val[12] = {0};
intselect

 dpp arr_reg_val, &select)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45

 if (select == GAMUT_REMAP_BYPASS) {
  adjust->gamut_adjust_type = GRAPHICS_GAMUT_ADJUST_TYPE_BYPASS;
  return;
 }

 adjust->gamut_adjust_type = GRAPHICS_GAMUT_ADJUST_TYPE_SW;
 convert_hw_matrix(adjust->temperature_matrix,
     arr_reg_val, ARRAY_SIZE(arr_reg_val));
}

Messung V0.5 in Prozent
C=97 H=90 G=93

¤ Dauer der Verarbeitung: 0.11 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.