Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Forum de l’article

Accélération d’algorithme

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Rappel de la discussion
Accélération d’algorithme
Meir Faraj - le 25 juin 2006

solution proposer a la dernier On 1 qui n’utilise que le tableau b
qu’on pourais egalement remplacer par 2 variable pour optimiser l’utilisation de la memoire.

(define (accel_CreateSegment fp_segmentStart fp_segmentEnd fp_SegmentValue)

    (let (
        (result (make-vector 4)))
        (vector-set ! result 0 "segment")
        (vector-set ! result 1 fp_segmentStart)
        (vector-set ! result 2 fp_segmentEnd)
        (vector-set ! result 3 fp_SegmentValue)
        result

      )

    )


    (define (accel_segment ? fp_segment)

      (and (vector ? fp_segment)
        (= (vector-length fp_segment) 4)
        (string ? (vector-ref fp_segment 0))
        (string= ? (vector-ref fp_segment 0) "segment")

      )

    )


    (define (accel_GetValueForSegment fp_segment)

      (if (accel_segment ? fp_segment)
        (vector-ref fp_segment 3)
        #unspecified

      )

    )


    (define (accel_GetMaxSegmentsOn1Perso2 fp_hydrophobicityCoefsList)

      (let* (
          (segment (accel_CreateSegment 0 0 (vector-ref fp_hydrophobicityCoefsList 0)))
          (listLength (vector-length fp_hydrophobicityCoefsList))
          (B (make-vector (+ listLength 1) 0))
          (idebut 0)

        )
        (do ((i 1 (+ i 1)))

          ((> i listLength) segment)
          (vector-set ! B i (+ (vector-ref B (- i 1)) (vector-ref fp_hydrophobicityCoefsList (- i 1))))
          (if (< (vector-ref B i) 0)
            (vector-set ! B i 0)

          )
          (if (and (= (vector-ref B (- i 1)) 0) (not (= (vector-ref B i) 0)))

            (set ! idebut (- i 1))

          )
          (if (> (vector-ref B i) (accel_GetValueForSegment segment))

            (set ! segment (accel_CreateSegment idebut (- i 1) (vector-ref B i)))

          )

        )

      )

    )

Derniers commentaires

0 | 5 | 10

Netflix, Salto : évolutions de la télévision et défis de souveraineté
Bonjour Laurent, L’architecture de Netflix est en effet admirable, j’ai aussi lu l’article de (...)

Entreprises françaises de l’iconomie
Pb de lien : https://www.xerfi.com/ et non http://www.institutxerfi.org/ semble-t-il (...)

Affaire Huawei : derniers rebondissements
Le retard technologique me semble être une stratégie utilisée de longue date par les Américains. (...)

Affaire Huawei : derniers rebondissements
Je lis : les Américains n’ont jamais été les meilleurs en fabrication ; Chose que j’ai déjà (...)

Comment sont gérés les noms de domaines en .fr - Principes du DNS - L’Afnic
Oui, Jean-Jacques, ces questions en apparence techniques ne sont pas sans versants politiques. (...)