// Path: avt/src/main/java/fr/irit/smac/libs/tooling/avt/IAVT.java
// public interface IAVT {
// 
//     /**
//      * Adjusts the value to the direction of the given feedback.
//      * <ul>
//      * <li><code>Feedback.GREATER</code>: increments the current value</li>
//      * <li><code>Feedback.LOWER<code>: decrements the current value</li>
//      * <li><code>Feedback.GOOD</code>: decreases the criticity of the AVT but
//      * doesn't change the value. This feedbacks express that the current value
//      * is good and should evolve more slowly at the next adjustment.</li>
//      * </ul>
//      * 
//      * 
//      * @param feedback
//      */
//     public void adjustValue(EFeedback feedback);
// 
//     /**
//      * Current value determied by the AVT.
//      * 
//      * @return the current value determied by the AVT
//      */
//     public double getValue();
// 
//     /**
//      * Returns the criticity of the AVT.
//      * <p>
//      * Criticity is a value that express the estimated inaccuracy of the current
//      * value. The criticity is a value between 0 and 1 where :
//      * </p>
//      * <ul>
//      * <li>0 stands for the best accuracy</li>
//      * <li>1 stands for the worst accuracy</lI>
//      * </ul>
//      * 
//      * @return the criticity of this AVT
//      */
//     public double getCriticity();
// 
//     /**
//      * Returns an advanced interface to control the AVT.
//      * <p>
//      * Pay caution, some of the methods of this interface doesn't guarantee the
//      * AVT state consistency. Generally, you should only uses this interface if
//      * you have good reasons and you know what you are doing.
//      * </p>
//      * 
//      * @return this AVT instance with an advanced interface
//      */
//     public IAdvancedAVT getAdvancedAVT();
// }
// 
// Path: avt/src/main/java/fr/irit/smac/libs/tooling/avt/AVTBuilder.java
// public class AVTBuilder extends AbstractAVTBuilder<IAVT> {
// 
//     /*
//      * (non-Javadoc)
//      * 
//      * @see fr.irit.smac.util.avt.IAVTBuilder#build()
//      */
//     @Override
//     public IAVT build() {
// 
//         if (this.avtFactory == null) {
// 
//             if (!this.isHardBounds) {
//                 if (this.softBoundsMemory > 0) {
//                     this.avtFactory = new SoftBoundsMemoryAVTFactory(this.softBoundsMemory);
//                 }
//                 else {
//                     this.avtFactory = new SoftBoundsAVTFactory();
//                 }
//             }
//             else {
//                 this.avtFactory = new StandardAVTFactory();
//             }
//         }
// 
//         return super.build();
//     }
// }
// 
// Path: avt/src/main/java/fr/irit/smac/libs/tooling/avt/EFeedback.java
// public enum EFeedback {
//     GREATER {
//         @Override
//         public String toString() {
//             return "+";
//         }
//     },
//     LOWER {
//         @Override
//         public String toString() {
//             return "-";
//         }
//     },
//     GOOD {
//         @Override
//         public String toString() {
//             return "g";
//         }
//     }
// }


import fr.irit.smac.libs.tooling.avt.AVTBuilder;
import fr.irit.smac.libs.tooling.avt.EFeedback;
import fr.irit.smac.libs.tooling.avt.IAVT;
/*
 * #%L
 * avt
 * %%
 * Copyright (C) 2014 - 2015 IRIT - SMAC Team
 * %%
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Lesser Public License for more details.
 * 
 * You should have received a copy of the GNU General Lesser Public
 * License along with this program.  If not, see
 * <http://www.gnu.org/licenses/lgpl-3.0.html>.
 * #L%
 */
package fr.irit.smac.libs.tooling.avt.example;


public class SearchValueExample {

    private SearchValueExample() {

    }

    public static void main(String[] args) {
// Path: avt/src/main/java/fr/irit/smac/libs/tooling/avt/IAVT.java
// public interface IAVT {
// 
//     /**
//      * Adjusts the value to the direction of the given feedback.
//      * <ul>
//      * <li><code>Feedback.GREATER</code>: increments the current value</li>
//      * <li><code>Feedback.LOWER<code>: decrements the current value</li>
//      * <li><code>Feedback.GOOD</code>: decreases the criticity of the AVT but
//      * doesn't change the value. This feedbacks express that the current value
//      * is good and should evolve more slowly at the next adjustment.</li>
//      * </ul>
//      * 
//      * 
//      * @param feedback
//      */
//     public void adjustValue(EFeedback feedback);
// 
//     /**
//      * Current value determied by the AVT.
//      * 
//      * @return the current value determied by the AVT
//      */
//     public double getValue();
// 
//     /**
//      * Returns the criticity of the AVT.
//      * <p>
//      * Criticity is a value that express the estimated inaccuracy of the current
//      * value. The criticity is a value between 0 and 1 where :
//      * </p>
//      * <ul>
//      * <li>0 stands for the best accuracy</li>
//      * <li>1 stands for the worst accuracy</lI>
//      * </ul>
//      * 
//      * @return the criticity of this AVT
//      */
//     public double getCriticity();
// 
//     /**
//      * Returns an advanced interface to control the AVT.
//      * <p>
//      * Pay caution, some of the methods of this interface doesn't guarantee the
//      * AVT state consistency. Generally, you should only uses this interface if
//      * you have good reasons and you know what you are doing.
//      * </p>
//      * 
//      * @return this AVT instance with an advanced interface
//      */
//     public IAdvancedAVT getAdvancedAVT();
// }
// 
// Path: avt/src/main/java/fr/irit/smac/libs/tooling/avt/AVTBuilder.java
// public class AVTBuilder extends AbstractAVTBuilder<IAVT> {
// 
//     /*
//      * (non-Javadoc)
//      * 
//      * @see fr.irit.smac.util.avt.IAVTBuilder#build()
//      */
//     @Override
//     public IAVT build() {
// 
//         if (this.avtFactory == null) {
// 
//             if (!this.isHardBounds) {
//                 if (this.softBoundsMemory > 0) {
//                     this.avtFactory = new SoftBoundsMemoryAVTFactory(this.softBoundsMemory);
//                 }
//                 else {
//                     this.avtFactory = new SoftBoundsAVTFactory();
//                 }
//             }
//             else {
//                 this.avtFactory = new StandardAVTFactory();
//             }
//         }
// 
//         return super.build();
//     }
// }
// 
// Path: avt/src/main/java/fr/irit/smac/libs/tooling/avt/EFeedback.java
// public enum EFeedback {
//     GREATER {
//         @Override
//         public String toString() {
//             return "+";
//         }
//     },
//     LOWER {
//         @Override
//         public String toString() {
//             return "-";
//         }
//     },
//     GOOD {
//         @Override
//         public String toString() {
//             return "g";
//         }
//     }
// }


// Path: avt/src/main/java/fr/irit/smac/libs/tooling/avt/example/SearchValueExample.java
import fr.irit.smac.libs.tooling.avt.AVTBuilder;
import fr.irit.smac.libs.tooling.avt.EFeedback;
import fr.irit.smac.libs.tooling.avt.IAVT;

/*
 * #%L
 * avt
 * %%
 * Copyright (C) 2014 - 2015 IRIT - SMAC Team
 * %%
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Lesser Public License for more details.
 * 
 * You should have received a copy of the GNU General Lesser Public
 * License along with this program.  If not, see
 * <http://www.gnu.org/licenses/lgpl-3.0.html>.
 * #L%
 */
package fr.irit.smac.libs.tooling.avt.example;


public class SearchValueExample {

    private SearchValueExample() {

    }

    public static void main(String[] args) {
        double searchedValue = 9.208;