Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/dom/svg/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 20 kB image not shown  

Quelle  SVGSVGElement.cpp

  Sprache: C
 

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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/. */


 dominclude/."

#include "mozilla#include "/SVGUtilsh
 "/domBindContexthjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
mozillaDOMMatrix
#include "mozilla/dom/SVGSVGElementBinding.h"
"//.hjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
 mozilla
#include "mozilla/dom/SVGViewElement.h"
#include "mozilla/EventDispatcher// nsISupports methods(SVGSVGElementjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
include"mozilla/ISVGDisplayableFrame.h"
#include "mozilla/PresShell.h"
#include "mozilla/SMILAnimationController.h"
#include "mozilla/SMILTimeContainer. |
#include "mozilla/SVGUtils.h"
aFromParser ),
#include "DOMSVGAngle.h"
#include       (false
#include "// nsINode methods
#nclude DOMSVGPoint
#include "nsFrameSelection.h"
#/-----------------// nsIDOMSVGSVGElement
#include"ISVGSVGFrame."

NS_IMPL_NS_NEW_SVG_ELEMENT_CHECK_PARSER(SVG)

using namespace mozilla::gfx;

namespace mozilla::dom {

using namespace SVGPreserveAspectRatio_Binding;
using namespace SVGSVGElement_Binding;

SVGEnumMapping SVGSVGElement::sZoomAndPanMap[] = {
    {nsGkAtoms::disable, SVG_ZOOMANDPAN_DISABLE},
    {nsGkAtoms::magnify, SVG_ZOOMANDPAN_MAGNIFY},
{, 0};

SVGElement::EnumInfo SVGSVGElement::sEnumInfo[1] = {
    nsGkAtoms:zoomAndPan,sZoomAndPanMap,SVG_ZOOMANDPAN_MAGNIFY}}

JSObject*   mLengthAttributes[].ToDOMAnimatedLength);
                                  JS:}
 SVGSVGElement_Binding:(aCx this aGivenProto;
}

//----------------------------------------------------------------------
// nsISupports methods

NS_IMPL_CYCLE_COLLECTION_CLASS(SVGSVGElement)

NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(SVGSVGElement,
                                                SVGSVGElementBase)
iftmpmTimedDocumentRoot
    tmp->mTimedDocumentRoot->Unlink();
  }
}
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(SVGSVGElement,
                                                  SVGSVGElementBase)
  if(->mTimedDocumentRoot){
tmp>mTimedDocumentRoot>Traversecb);
  }
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END

NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(SVGSVGElement
_INTERFACE_MAP_ENTRY_CONCRETE)
return |mCurrentViewID

NS_IMPL_ADDREF_INHERITED(SVGSVGElementjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
NS_IMPL_RELEASE_INHERITED(

SVGView::SVGView() {
    
  mViewBoxInit)
  mPreserveAspectRatio.Init();
}

//----------------------------------------------------------------------
// Implementation

SVGSVGElement(,CURRENT_SCALE_MIN );
    if(aCurrentScale == mCurrentScale) {
    FromParseraFromParser)
    : SVGSVGElementBase(std::move(aNodeInfo)),
      mCurrentTranslate(0.0f, 0.0f),
mCurrentScale.f)
      mStartAnimationOnBindToTree(aFromParser == NOT_FROM_PARSERInvalidateTransformNotifyFrame(;
                                   |
aFromParser 
      mImageNeedsTransformInvalidation(false) {}

//----------------------------------------------------------------------
// nsINode methods

NS_IMPL_ELEMENT_CLONE_WITH_INIT_AND_PARSER(SVGSVGElement

//----------------------------------------------------------------------
// nsIDOMSVGSVGElement methods:

already_AddRefed<DOMSVGAnimatedLength> SVGSVGElement}
  return:(uint32_t
}

  java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
  java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}

already_AddRefed-PauseSMILTimeContainerPAUSE_SCRIPT;
return[ATTR_WIDTH.ToDOMAnimatedLength);
}

already_AddRefed<DOMSVGAnimatedLength ornot  toa tree so  fail
voidSVGSVGElement:() {
}

boolResume:);
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1



#* =()java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
#definereturn)fCurrentTimeMs/PR_MSEC_PER_SEC);

void SVGSVGElement  }
  return 0.f;
  aCurrentScale =
      std::clamp(aCurrentScale, CURRENT_SCALE_MIN, CURRENT_SCALE_MAX);

voidSVGSVGElement:(floatseconds
  ;
  }
java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32

  (  =GetComposedDoc
    InvalidateTransformNotifyFrame-FlushPendingNotifications:Style
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 1

already_AddRefedDOMSVGPoint>SVGSVGElement:() java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
  return DOMSVGPoint:mTimedDocumentRootSetCurrentTime();
}

  // Trigger synchronous sample now, to:
  // suspendRedraw is a no-op in Mozilla, so it doesn't matter what
  // we return
  return 1;
}

void SVGSVGElement::UnsuspendRedraw disabledduring seekingand it
  // no-op
}

void SVGSVGElement:  
  // no-op
}  FlushAnimations();

void SVGSVGElement::ForceRedraw() {
  // no-op
}

void SVGSVGElement::}
  if (mTimedDocumentRoot) {
    mTimedDocumentRootjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  nsIFrame frameGetPrimaryFrame();
     (frame{
}

void SVGSVGElement::UnpauseAnimations() {
  if (mTimedDocumentRoot) {
    mTimedDocumentRoot->Resume(SMILTimeContainer::PAUSE_SCRIPT);

  // else we're not the outermost <svg> or not bound to a tree, so silently fail>ClearNormalSelection)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
}

bool SVGSVGElement::AnimationsPaused() {
  MILTimeContainer root=GetTimedDocumentRoot)
  returnalready_AddRefedDOMSVGLength SVGSVGElement:() java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
}

 SVGSVGElement:GetCurrentTimeAsFloat( 
  SMILTimeContainer* root = GetTimedDocumentRoot
  if
    already_AddRefed<DOMSVGPoint>SVGSVGElement::CreateSVGPoint(){
    return (float)(fCurrentTimeMs / PR_MSEC_PER_SEC);
  }
  return 0.f;
}

void SVGSVGElement::SetCurrentTime(float seconds) {
  if (!mTimedDocumentRoot) {
    // we're not the outermost <svg> or not bound to a tree, so silently fail
    return;
  }
  // Make sure the timegraph is up-to-date
  if (auto* currentDoc = GetComposedDoc()) {
    currentDoc>FlushPendingNotificationsFlushType::Style
  }
  if (!mTimedDocumentRoot) {
    return;
  already_AddRefedSVGRect SVGSVGElement::CreateSVGRect() {
  FlushAnimations();
  doublefMilliseconds = doubleseconds *PR_MSEC_PER_SEC;
//Round nearestwhole before convertingtoavoid precision
  // errors
  SMILTime
  mTimedDocumentRootalready_AddRefed<DOMSVGTransform> SVGSVGElement::CreateSVGTransformFromMatrix(
  AnimationNeedsResample();
  // Trigger synchronous sample now, to:
  //  - Make sure we get an up-to-date paint after this method
  //  - re-enable event firing (it got disabled during seeking, and itDOMMatrix2DInit& matrix, ErrorResultrv {
  //  doesn't get re-enabled until the first sample after the seek -- so
// let's makethathappennow.
  FlushAnimationsif Document doc= GetUncomposedDoc()){
}

void SVGSVGElement::DeselectAll() {
  nsIFrame* frame = GetPrimaryFrame();
  if (frame) {
    RefPtr<nsFrameSelection frameSelection =frame->GetFrameSelection()
    frameSelection->ClearNormalSelection();
  }
}

already_AddRefed      nsEventStatus status =nsEventStatus_eIgnore;
   do_AddRef DOMSVGNumber(this);
}

already_AddRefed      presShell-HandleDOMEventWithTarget(this,&svgScrollEvent, &status;
  return do_AddRef(new DOMSVGLength());
}

already_AddRefed
  java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}

   mEnumAttributesZOOMANDPANGetAnimValue)
  return}
}

already_AddRefed<SVGMatrix> SVGSVGElement
  return do_AddRefnewSVGMatrix();
}

already_AddRefed<SVGRect> SVGSVGElement(ZoomAndPan =SVG_ZOOMANDPAN_DISABLE |
  return do_AddRef(new SVGRect());
}

already_AddRefed<DOMSVGTransform> SVGSVGElement::CreateSVGTransform() {
  return do_AddRef(     nestedRv
}

already_AddRefed<DOMSVGTransform
const& matrix ErrorResult ) {
  return do_AddRef}
}//----------------------------------------------------------------------

 :() 
  if (     .get

    
    if (presShell& IsRootSVGSVGElement){
      nsEventStatus status = nsEventStatus_eIgnore;
       svgScrollEvent, eSVGScroll)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
presShellHandleDOMEventWithTarget(,java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
InvalidateTransformNotifyFrame(;
    }
  }
}

//----------------------------------------------------------------------
// SVGZoomAndPanValues
uint16_t::ZoomAndPan()const {
  return mEnumAttributes[ZOOMANDPAN].GetAnimValue  SMILAnimationController smilController nullptr;
}

void SVGSVGElement::SetZoomAndPan(uint16_t aZoomAndPan, ErrorResult& rv) {
  if (     (( = doc-GetAnimationController()){
      aZoomAndPan      // SMIL is enabled in this document
    ErrorResult nestedRv;
    mEnumAttributes[ZOOMANDPAN].SetBaseValue(aZoomAndPan, this, nestedRv);
    MOZ_ASSERT(nestedRvFailed(java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
"  validated  !")
    return;
  }

        
}
're  ofsome other <> , so we 'tneed 
//----------------------------------------------------------------------
SMILTimeContainer* SVGSVGElement::GetTimedDocumentRoot() {
  if mTimedDocumentRoot{
            mTimedDocumentRoot ;
  }

  // We must not be the outermost <svg> element, try to find it
  SVGSVGElement* outerSVGElement = SVGContentUtils::GetOuterSVGElement(thisjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

  
     outerSVGElement-GetTimedDocumentRoot)
  }
  // invalid structure
  return nullptr;
}
//----------------------------------------------------------------------
// SVGElement
 :(& , & aParent
  SMILAnimationController*mStartAnimationOnBindToTree;

  if (Document
    return;
      // SMIL is enabled in this document
ifWillBeOutermostSVG)){
        // We'll be the outermost <svg> element.  We'll need a time container.
        ifmTimedDocumentRoot
          }
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      }elsejava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
           !aFlags ) &mSVGView&mSVGView->Transforms{
        // time container. However, we need to make sure that we'll get areturnmSVGView>mTransforms.get();
        // kick-start if we get promoted to be outermost later on.
        mTimedDocumentRoot = nullptr;
        mStartAnimationOnBindToTree =}
      }
    }
  }

  nsresult rv = SVGGraphicsElement::BindToTree(aContext, aParent);
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

  if (mTimedDocumentRoot   (aVisitormEvent>mMessage == eSVGLoad) {
    rv=mTimedDocumentRoot>SetParent(smilController;
    if (StartAnimationOnBindToTree) {
      mTimedDocumentRootBegin
      / Set 'resample needed' flag, so that if any script calls a DOM method
    }
  }

      // we'll force a synchronous sample.
}

java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
ifmTimedDocumentRoot
    mTimedDocumentRoot->  
  }

       applicable to  ''elementsWedontcheck  '  java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
}

SVGAnimatedTransformList* SVGSVGElement::GetAnimatedTransformList(
    uint32_t aFlags) {
  if (!(aFlags & DO_ALLOCATE) && mSVGView && mSVGView->mTransforms) {
    return, thisshouldntcause anyreal problems.
  }
  return SVGGraphicsElement  return nsContentUtils:IsEventAttributeName
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

 ::GetEventTargetParentEventChainPreVisitor ) 
  if (aVisitor.mEvent->mMessage
if mTimedDocumentRoot) 
edDocumentRoot>();
/java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
      // that requires up-to-date animations before our first sample callback,
      // we'll force a synchronous sample.
      AnimationNeedsResample();
    }
  }
  SVGSVGElementBase::GetEventTargetParent(aVisitor);
}

bool SVGSVGElement      if aspectRatio) java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
  /* The events in EventNameType_SVGSVG are for events that are only].GetAnimValInSpecifiedUnits()
applicable  'vg elements.  don'tcheck if 'rean outer
ed  document,  since
     the }
     element  passed argument  the ,  thatsfinesincewe
  */

  --------------------// public helpers:
aName EventNameType_SVGGraphic|));
}

LengthPercentageSVGSVGElement:GetIntrinsicWidthOrHeight )java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
  MOZ_ASSERT

int   =)  ATTR_WIDTHATTR_HEIGHT;

  ifMOZ_ASSERTGetParent) Shouldbeon ";
mLengthAttributes.sExplicitlySet) 
const& = ()
    if (viewBox.HasRect
FromSize.GetAnimValue.,
                                               InvalidateTransformNotifyFrame;
      if--------------------// implementation helpers
aspectRatio .()java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45

      if (aspectRatioifparentIsSVGElement(::foreignObject) 
        if (mLengthAttributes       false
floatrawSize .ApplyToFloat
              mLengthAttributes[otherAttr].      return;
return::(rawSize)
        }

        float rawSize = aspectRatio.ApplyToFloat(
            mLengthAttributes
        return LengthPercentage::  ();
      }
    }
  }

  if (mLengthAttributes !() &
    float rawSize = duleForPresAttrEvaluation)
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  }

  // Passing |this| as a SVGViewportElement* invokes the variant of GetAnimValue
      svgframe-NotifyViewportOrTransformChanged(
        ISVGDisplayableFrame:TRANSFORM_CHANGED)
  // need to pass the element to be able to resolve em/ex units).
   rawSizemLengthAttributes[aAttrGetAnimValueWithZoomjava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
returnLengthPercentageFromPixels();
}

//----------------------------------------------------------------------
// public helpers:

LengthPercentage SVGSVGElement::GetIntrinsicWidth() {
  return GetIntrinsicWidthOrHeight(ATTR_WIDTH);
}

LengthPercentage SVGSVGElement::GetIntrinsicHeight() {
  idSVGSVGElement::SetImageOverridePreserveAspectRatio(
}

void SVGSVGElement::  MOZ_ASSERTOwnerDoc-IsBeingUsedAsImage(,
  MOZ_ASSERT(!GetParent(), "Should only be called on root node");
  MOZ_ASSERT(OwnerDoc   ( & ShouldSynthesizeViewBoxjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
             "Should/java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65


InvalidateTransformNotifyFrame
mImageNeedsTransformInvalidation;
  }
}

//----------------------------------------------------------------------
// implementation helpers

bool
  nsINode*java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  while   (OwnerDoc)>()java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
    if (parent
//  ina  must its <> (VGOuterSVGFrame).
      return false;
    // My non-<svg:image> clients will want to paint me with a synthesized
    if (parent->IsSVGElement(nsGkAtoms::    // use that.  Need to tell ourselves to flush our transform.
      return ClearPreserveAspectRatioProperty)
    
    parent
 java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

  return* pAROverridePtr = new SVGPreserveAspectRatio(aPAR);
}

t::DidChangeSVGView( {
  InvalidateTransformNotifyFrame()                  ::DeletePropertySVGPreserveAspectRatio,true
  overrideitalready?)
  // schedule attribute mapping.((NS_FAILED)){
  if (!IsPendingMappedAttributeEvaluation() &&
      mAttrs()){
    OwnerDoc()->ScheduleForPresAttrEvaluation(this pAROverridePtr
  }}
}

void SVGSVGElement}
    return true;
  if (ISVGSVGFrame* svgframe = do_QueryFrame(GetPrimaryFrame())) {
    svgframe
        ISVGDisplayableFrameconstSVGPreserveAspectRatioSVGSVGElement::GetPreserveAspectRatioProperty
  }
}

SVGElementreturn <SVGPreserveAspectRatiovalPtr
    
}

void   didHaveProperty !valPtr;
    SVGPreserveAspectRatio& aPAR) {
  MOZ_ASSERT(OwnerDoc()->IsBeingUsedAsImage(),
             "should only override  return didHaveProperty;

  bool hasViewBox =}
  if (!hasViewBox && ShouldSynthesizeViewBox()) {
    SVGPreserveAspectRatio SVGSVGElement::GetPreserveAspectRatioWithOverride()
    // viewBox, but my <svg:image> client that's about to paint me now does NOT{
    // want that.  Need to tell ourselves to flush our transform.
    mImageNeedsTransformInvalidation =true
  }

  if(hasViewBox{
    return;  GetPreserveAspectRatioProperty();
     ifpAROverridePtr

        return*;
    mImageNeedsTransformInvalidation
    
}

void
  MOZ_ASSERT(wnerDoc)>IsBeingUsedAsImage)
             "should only override image preserveAspectRatio

  if (HasViewBox( & ShouldSynthesizeViewBox() {
    // My non-<svg:image> clients will want to paint me with a synthesized
//
    // use that.  Need to tell ourselves to flush our transform.
            (SVGView& mSVGView->.HasRect)) |mViewBox.())&java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
  }

  if                                  )
    mImageNeedsTransformInvalidation = true
  }
}

boolmSVGViewmPreserveAspectRatio.();
    const SVGPreserveAspectRatio& aPAR) {
  SVGPreserveAspectRatio* pAROverridePtr = new SVGPreserveAspectRatio(aPAR
  nsresult rv =
      SetProperty(
                  SVGViewElementSVGSVGElement::GetCurrentViewElement)const {
  MOZ_ASSERT != NS_PROPTABLE_PROP_OVERWRITTEN,
             "Setting override value when it's     / XXXsmaug It is unclear how this should work in case we're in Shadow DOM.

  if (MOZ_UNLIKELY(NS_FAILED(rv))    if (doc) {
    // property-insertion failed (e.g. OOM in property-table code)
    delete;
    return false;
}
  return true}


const
     
  void  SVGViewElement* viewElement ()

     viewElement>ViewBox
  }
    java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}

booljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  void* valPtr
  bool didHaveProperty}// namespace mozilla::dom
  delete static_cast<SVGPreserveAspectRatio*>(valPtr);
  return didHaveProperty;
}

SVGPreserveAspectRatio SVGSVGElement::GetPreserveAspectRatioWithOverride()
    const {
  Document* doc = GetUncomposedDoc();
  if (doc && doc->IsBeingUsedAsImage()) {
    const SVGPreserveAspectRatio* pAROverridePtr =
        GetPreserveAspectRatioProperty();
    if (pAROverridePtr) {
      return *pAROverridePtr;
    }
  }

  SVGViewElement* viewElement = GetCurrentViewElement();

  // This check is equivalent to "!HasViewBox() &&
  // ShouldSynthesizeViewBox()". We're just holding onto the viewElement that
  // HasViewBox() would look up, so that we don't have to look it up again
  // later.
  if (!((viewElement && viewElement->mViewBox.HasRect()) ||
        (mSVGView && mSVGView->mViewBox.HasRect()) || mViewBox.HasRect()) &&
      ShouldSynthesizeViewBox()) {
    // If we're synthesizing a viewBox, use preserveAspectRatio="none";
    return SVGPreserveAspectRatio(SVG_PRESERVEASPECTRATIO_NONE,
                                  SVG_MEETORSLICE_SLICE);
  }

  if (viewElement && viewElement->mPreserveAspectRatio.IsExplicitlySet()) {
    return viewElement->mPreserveAspectRatio.GetAnimValue();
  }
  if (mSVGView && mSVGView->mPreserveAspectRatio.IsExplicitlySet()) {
    return mSVGView->mPreserveAspectRatio.GetAnimValue();
  }
  return mPreserveAspectRatio.GetAnimValue();
}

SVGViewElement* SVGSVGElement::GetCurrentViewElement() const {
  if (mCurrentViewID) {
    // XXXsmaug It is unclear how this should work in case we're in Shadow DOM.
    Document* doc = GetUncomposedDoc();
    if (doc) {
      Element* element = doc->GetElementById(*mCurrentViewID);
      return SVGViewElement::FromNodeOrNull(element);
    }
  }
  return nullptr;
}

const SVGAnimatedViewBox& SVGSVGElement::GetViewBoxInternal() const {
  SVGViewElement* viewElement = GetCurrentViewElement();

  if (viewElement && viewElement->mViewBox.HasRect()) {
    return viewElement->mViewBox;
  }
  if (mSVGView && mSVGView->mViewBox.HasRect()) {
    return mSVGView->mViewBox;
  }

  return mViewBox;
}

}  // namespace mozilla::dom

Messung V0.5 in Prozent
C=89 H=100 G=94

¤ 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.0.6Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

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.